Remove use of bool32 replay API type&optimise mem layout in some structs

This commit is contained in:
baldurk
2017-08-24 10:44:45 +01:00
parent e85c8d19bf
commit 40a0272a3e
28 changed files with 327 additions and 262 deletions
+1 -1
View File
@@ -770,7 +770,7 @@ ShaderVariable FormatElement::GetShaderVar(const byte *&data, const byte *end) c
if(format.compType == CompType::Double)
ret.type = VarType::Double;
ret.columns = qMin(format.compCount, 4U);
ret.columns = qMin(format.compCount, uint8_t(4));
ret.rows = qMin(matrixdim, 4U);
ret.displayAsHex = hex;
@@ -1807,7 +1807,7 @@ void D3D12PipelineStateViewer::resource_itemActivated(RDTreeWidgetItem *item, in
if(desc.rows > 1 && desc.cols > 1)
format += QFormatStr("%1x%2").arg(desc.rows).arg(desc.cols);
else if(desc.cols > 1)
format += desc.cols;
format += QString::number(desc.cols);
if(!desc.name.empty())
format += lit(" ") + desc.name;
@@ -1878,7 +1878,7 @@ void D3D12PipelineStateViewer::resource_itemActivated(RDTreeWidgetItem *item, in
if(view.res.BufferFlags & D3DBufferViewFlags::Raw)
format = lit("xint");
format += fmt.compCount;
format += QString::number(fmt.compCount);
}
}
}
@@ -2022,7 +2022,7 @@ void GLPipelineStateViewer::resource_itemActivated(RDTreeWidgetItem *item, int c
if(desc.rows > 1 && desc.cols > 1)
format += QFormatStr("%1x%2").arg(desc.rows).arg(desc.cols);
else if(desc.cols > 1)
format += desc.cols;
format += QString::number(desc.cols);
if(!desc.name.empty())
format += lit(" ") + desc.name;
@@ -2051,7 +2051,7 @@ void VulkanPipelineStateViewer::resource_itemActivated(RDTreeWidgetItem *item, i
if(desc.rows > 1 && desc.cols > 1)
format += QFormatStr("%1x%2").arg(desc.rows).arg(desc.cols);
else if(desc.cols > 1)
format += desc.cols;
format += QString::number(desc.cols);
if(desc.name.count > 0)
format += lit(" ") + desc.name;
+22 -22
View File
@@ -71,20 +71,20 @@ struct MeshFormat
":class:`FloatVector`.");
FloatVector meshColor;
DOCUMENT("``True`` if the alpha component of this element should be used.");
bool showAlpha;
DOCUMENT("The :class:`Topology` that describes the primitives in this mesh.");
Topology topo;
DOCUMENT("The number of vertices in the mesh.");
uint32_t numVerts;
DOCUMENT("``True`` if this mesh element contains post-projection positional data.");
bool32 unproject;
DOCUMENT("The near plane for the projection matrix.");
float nearPlane;
DOCUMENT("The far plane for the projection matrix.");
float farPlane;
DOCUMENT("``True`` if this mesh element contains post-projection positional data.");
bool unproject;
DOCUMENT("``True`` if the alpha component of this element should be used.");
bool showAlpha;
};
DECLARE_REFLECTION_STRUCT(MeshFormat);
@@ -110,7 +110,7 @@ struct MeshDisplay
DOCUMENT(
"``True`` if the projection matrix to use when unprojecting vertex positions is "
"orthographic.");
bool32 ortho;
bool ortho;
DOCUMENT("The field of view to use when calculating a perspective projection matrix.");
float fov;
DOCUMENT("The aspect ratio to use when calculating a perspective projection matrix.");
@@ -118,13 +118,13 @@ struct MeshDisplay
DOCUMENT(
"``True`` if all previous instances in the drawcall should be drawn as secondary meshes.");
bool32 showPrevInstances;
bool showPrevInstances;
DOCUMENT("``True`` if all instances in the drawcall should be drawn as secondary meshes.");
bool32 showAllInstances;
bool showAllInstances;
DOCUMENT(
"``True`` if all draws in the current pass up to the current draw should be drawn as "
"secondary meshes.");
bool32 showWholePass;
bool showWholePass;
DOCUMENT("The index of the currently selected instance in the drawcall.");
uint32_t curInstance;
@@ -141,12 +141,12 @@ struct MeshDisplay
DOCUMENT("The maximum co-ordinates in each axis of the mesh bounding box.");
FloatVector maxBounds;
DOCUMENT("``True`` if the bounding box around the mesh should be rendered.");
bool32 showBBox;
bool showBBox;
DOCUMENT("The :class:`solid shading mode <SolidShade>` to use when rendering the current mesh.");
SolidShade solidShadeMode;
DOCUMENT("``True`` if the wireframe of the mesh should be rendered as well as solid shading.");
bool32 wireframeDraw;
bool wireframeDraw;
static const uint32_t NoHighlight = ~0U;
};
@@ -186,19 +186,19 @@ struct TextureDisplay
If only one channel is selected, it will be rendered in grayscale
)");
bool32 Red;
bool Red;
DOCUMENT(R"(``True`` if the green channel should be visible.
If only one channel is selected, it will be rendered in grayscale
)");
bool32 Green;
bool Green;
DOCUMENT(R"(``True`` if the blue channel should be visible.
If only one channel is selected, it will be rendered in grayscale
)");
bool32 Blue;
bool Blue;
DOCUMENT(R"(``True`` if the alpha channel should be visible. If enabled with any of RGB, the
texture will be blended to a checkerboard of :data:`lightBackgroundColor` and
@@ -206,10 +206,10 @@ texture will be blended to a checkerboard of :data:`lightBackgroundColor` and
If only one channel is selected, it will be rendered in grayscale
)");
bool32 Alpha;
bool Alpha;
DOCUMENT("``True`` if the texture should be flipped vertically when rendering.");
bool32 FlipY;
bool FlipY;
DOCUMENT("If ``>= 0.0`` the RGBA values will be viewed as HDRM with this as the multiplier.");
float HDRMul;
@@ -218,7 +218,7 @@ If only one channel is selected, it will be rendered in grayscale
See :ref:`the FAQ entry <gamma-linear-display>`.
)");
bool32 linearDisplayAsGamma;
bool linearDisplayAsGamma;
DOCUMENT(R"(The :class:`ResourceId` of a custom shader to use when rendering.
@@ -244,7 +244,7 @@ samples.
This is primarily useful when rendering to a floating point target for retrieving pixel data from
the input texture in cases where it isn't easy to directly fetch the input texture data.
)");
bool32 rawoutput;
bool rawoutput;
DOCUMENT("The offset to pan in the X axis.");
float offx;
@@ -292,7 +292,7 @@ in-place, so it would be slice 0: sample 0, slice 0: sample 1, slice 1: sample 0
This then follows the mapping for array slices as with any other array texture. :data:`sampleIndex`
is ignored.
)");
bool32 mapToArray;
bool mapToArray;
DOCUMENT(R"(
If :data:`mapToArray` is ``False`` this selects which sample should be extracted to treat as a
@@ -326,7 +326,7 @@ that don't support slices natively, and will be done in RGBA8.
If ``True``, write out the slices as a 2D grid with the width given in :data:`sliceGridWidth`. Any
empty slices in the grid are written as transparent black.
)");
bool32 slicesAsGrid;
bool slicesAsGrid;
DOCUMENT("The width of a grid if :data:`slicesAsGrid` is ``True``.");
int32_t sliceGridWidth;
@@ -346,7 +346,7 @@ empty slices in the grid are written as transparent black.
With the gaps filled in with transparent black.
)");
bool32 cubeCruciform;
bool cubeCruciform;
};
DECLARE_REFLECTION_STRUCT(TextureSliceMapping);
@@ -424,7 +424,7 @@ struct NewCaptureData
DOCUMENT("The local path on the target system where the capture is saved.");
rdctype::str path;
DOCUMENT("``True`` if the target is running on the local system.");
bool32 local;
bool local;
};
DECLARE_REFLECTION_STRUCT(NewCaptureData);
+22 -22
View File
@@ -58,7 +58,7 @@ if this is the first element.
uint32_t ByteOffset = 0;
DOCUMENT("``True`` if the vertex data is instance-rate.");
bool32 PerInstance = false;
bool PerInstance = false;
DOCUMENT(R"(If :data:`PerInstance` is ``True`` then this is how many times each instance data is
used before advancing to the next instance.
@@ -110,7 +110,7 @@ struct IA
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("The name of the input layout object.");
rdctype::str name;
@@ -138,7 +138,7 @@ struct View
ResourceFormat Format;
DOCUMENT("``True`` if this view describes a structured buffer.");
bool32 Structured = false;
bool Structured = false;
DOCUMENT("If the view has a hidden counter, this stores the current value of the counter.");
uint32_t BufferStructCount = 0;
@@ -177,7 +177,7 @@ struct Sampler
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("The :class:`AddressMode` in the U direction.");
AddressMode AddressU = AddressMode::Wrap;
DOCUMENT("The :class:`AddressMode` in the V direction.");
@@ -242,7 +242,7 @@ struct Shader
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("A :class:`ShaderReflection` describing the reflection data for this shader.");
ShaderReflection *ShaderDetails = NULL;
@@ -309,7 +309,7 @@ struct Viewport
DOCUMENT("The maximum depth of the viewport.");
float MaxDepth = 0.0f;
DOCUMENT("``True`` if this viewport is enabled.");
bool32 Enabled = false;
bool Enabled = false;
};
DOCUMENT("Describes a single D3D11 scissor rect.");
@@ -328,7 +328,7 @@ struct Scissor
DOCUMENT("Bottom-right Y co-ordinate of the viewport.");
int32_t bottom = 0;
DOCUMENT("``True`` if this scissor region is enabled.");
bool32 Enabled = false;
bool Enabled = false;
};
DOCUMENT("Describes a rasterizer state object.");
@@ -343,7 +343,7 @@ struct RasterizerState
DOCUMENT(R"(``True`` if counter-clockwise polygons are front-facing.
``False`` if clockwise polygons are front-facing.
)");
bool32 FrontCCW = false;
bool FrontCCW = false;
DOCUMENT("The fixed depth bias value to apply to z-values.");
int32_t DepthBias = 0;
DOCUMENT(R"(The clamp value for calculated depth bias from :data:`DepthBias` and
@@ -353,21 +353,21 @@ struct RasterizerState
DOCUMENT("The slope-scaled depth bias value to apply to z-values.");
float SlopeScaledDepthBias = 0.0f;
DOCUMENT("``True`` if pixels outside of the near and far depth planes should be clipped.");
bool32 DepthClip = false;
bool DepthClip = false;
DOCUMENT("``True`` if the scissor test should be applied.");
bool32 ScissorEnable = false;
bool ScissorEnable = false;
DOCUMENT("``True`` if the quadrilateral MSAA algorithm should be used on MSAA targets.");
bool32 MultisampleEnable = false;
bool MultisampleEnable = false;
DOCUMENT(
"``True`` if lines should be anti-aliased. Ignored if :data:`MultisampleEnable` is "
"``False``.");
bool32 AntialiasedLineEnable = false;
bool AntialiasedLineEnable = false;
DOCUMENT(R"(A sample count to force rasterization to when UAV rendering or rasterizing, or 0 to
not force any sample count.
)");
uint32_t ForcedSampleCount = 0;
DOCUMENT("``True`` if a conservative rasterization algorithm should be used.");
bool32 ConservativeRasterization = false;
bool ConservativeRasterization = false;
};
DOCUMENT("Describes the rasterization state of the D3D11 pipeline.");
@@ -402,13 +402,13 @@ struct DepthStencilState
DOCUMENT("The :class:`ResourceId` of the depth-stencil state object.");
ResourceId State;
DOCUMENT("``True`` if depth testing should be performed.");
bool32 DepthEnable = false;
bool DepthEnable = false;
DOCUMENT("The :class:`CompareFunc` to use for testing depth values.");
CompareFunc DepthFunc = CompareFunc::AlwaysTrue;
DOCUMENT("``True`` if depth values should be written to the depth target.");
bool32 DepthWrites = false;
bool DepthWrites = false;
DOCUMENT("``True`` if stencil operations should be performed.");
bool32 StencilEnable = false;
bool StencilEnable = false;
DOCUMENT("The mask for reading stencil values.");
byte StencilReadMask = 0;
DOCUMENT("The mask for writing stencil values.");
@@ -447,9 +447,9 @@ struct Blend
LogicOp Logic = LogicOp::NoOp;
DOCUMENT("``True`` if blending is enabled for this target.");
bool32 Enabled = false;
bool Enabled = false;
DOCUMENT("``True`` if the logic operation in :data:`Logic` should be used.");
bool32 LogicEnabled = false;
bool LogicEnabled = false;
DOCUMENT("The mask for writes to the render target.");
byte WriteMask = 0;
};
@@ -461,12 +461,12 @@ struct BlendState
ResourceId State;
DOCUMENT("``True`` if alpha-to-coverage should be used when blending to an MSAA target.");
bool32 AlphaToCoverage = false;
bool AlphaToCoverage = false;
DOCUMENT(R"(``True`` if independent blending for each target should be used.
``False`` if the first blend should be applied to all targets.
)");
bool32 IndependentBlend = false;
bool IndependentBlend = false;
DOCUMENT("A list of :class:`D3D11_Blend` describing the blend operations for each target.");
rdctype::array<Blend> Blends;
@@ -496,9 +496,9 @@ struct OM
DOCUMENT("A :class:`D3D11_View` with details of the bound depth-stencil target.");
View DepthTarget;
DOCUMENT("``True`` if depth access to the depth-stencil target is read-only.");
bool32 DepthReadOnly = false;
bool DepthReadOnly = false;
DOCUMENT("``True`` if stenncil access to the depth-stencil target is read-only.");
bool32 StencilReadOnly = false;
bool StencilReadOnly = false;
};
DOCUMENT("The full current D3D11 pipeline state.");
+19 -19
View File
@@ -57,7 +57,7 @@ if this is the first element.
uint32_t ByteOffset = 0;
DOCUMENT("``True`` if the vertex data is instance-rate.");
bool32 PerInstance = false;
bool PerInstance = false;
DOCUMENT(R"(If :data:`PerInstance` is ``True`` then this is how many times each instance data is
used before advancing to the next instance.
@@ -125,7 +125,7 @@ DOCUMENT("Describes the details of a D3D12 resource view - any one of UAV, SRV,
struct View
{
DOCUMENT("``True`` if this view is a root parameter (i.e. not in a table).");
bool32 Immediate = false;
bool Immediate = false;
DOCUMENT("The index in the original root signature that this descriptor came from.");
uint32_t RootElement = ~0U;
DOCUMENT("The index in the the parent descriptor table where this descriptor came from.");
@@ -177,7 +177,7 @@ DOCUMENT("Describes the details of a sampler descriptor.");
struct Sampler
{
DOCUMENT("``True`` if this view is a static sampler (i.e. not in a table).");
bool32 Immediate = 0;
bool Immediate = 0;
DOCUMENT("The index in the original root signature that this descriptor came from.");
uint32_t RootElement = ~0U;
DOCUMENT("The index in the the parent descriptor table where this descriptor came from.");
@@ -220,7 +220,7 @@ DOCUMENT("Describes the details of a constant buffer view descriptor.");
struct CBuffer
{
DOCUMENT("``True`` if this view is a root constant (i.e. not in a table).");
bool32 Immediate = false;
bool Immediate = false;
DOCUMENT("The index in the original root signature that this descriptor came from.");
uint32_t RootElement = ~0U;
DOCUMENT("The index in the the parent descriptor table where this descriptor came from.");
@@ -345,7 +345,7 @@ struct RasterizerState
DOCUMENT(R"(``True`` if counter-clockwise polygons are front-facing.
``False`` if clockwise polygons are front-facing.
)");
bool32 FrontCCW = false;
bool FrontCCW = false;
DOCUMENT("The fixed depth bias value to apply to z-values.");
int32_t DepthBias = 0;
DOCUMENT(R"(The clamp value for calculated depth bias from :data:`DepthBias` and
@@ -355,19 +355,19 @@ struct RasterizerState
DOCUMENT("The slope-scaled depth bias value to apply to z-values.");
float SlopeScaledDepthBias = 0.0f;
DOCUMENT("``True`` if pixels outside of the near and far depth planes should be clipped.");
bool32 DepthClip = false;
bool DepthClip = false;
DOCUMENT("``True`` if the quadrilateral MSAA algorithm should be used on MSAA targets.");
bool32 MultisampleEnable = false;
bool MultisampleEnable = false;
DOCUMENT(
"``True`` if lines should be anti-aliased. Ignored if :data:`MultisampleEnable` is "
"``False``.");
bool32 AntialiasedLineEnable = false;
bool AntialiasedLineEnable = false;
DOCUMENT(R"(A sample count to force rasterization to when UAV rendering or rasterizing, or 0 to
not force any sample count.
)");
uint32_t ForcedSampleCount = 0;
DOCUMENT("``True`` if a conservative rasterization algorithm should be used.");
bool32 ConservativeRasterization = false;
bool ConservativeRasterization = false;
};
DOCUMENT("Describes the rasterization state of the D3D12 pipeline.");
@@ -403,13 +403,13 @@ DOCUMENT("Describes the state of the depth-stencil state in the PSO.");
struct DepthStencilState
{
DOCUMENT("``True`` if depth testing should be performed.");
bool32 DepthEnable = false;
bool DepthEnable = false;
DOCUMENT("``True`` if depth values should be written to the depth target.");
bool32 DepthWrites = false;
bool DepthWrites = false;
DOCUMENT("The :class:`CompareFunc` to use for testing depth values.");
CompareFunc DepthFunc = CompareFunc::AlwaysTrue;
DOCUMENT("``True`` if stencil operations should be performed.");
bool32 StencilEnable = false;
bool StencilEnable = false;
DOCUMENT("The mask for reading stencil values.");
byte StencilReadMask = 0;
DOCUMENT("The mask for writing stencil values.");
@@ -448,9 +448,9 @@ struct Blend
LogicOp Logic = LogicOp::NoOp;
DOCUMENT("``True`` if blending is enabled for this target.");
bool32 Enabled = false;
bool Enabled = false;
DOCUMENT("``True`` if the logic operation in :data:`Logic` should be used.");
bool32 LogicEnabled = false;
bool LogicEnabled = false;
DOCUMENT("The mask for writes to the render target.");
byte WriteMask = 0;
};
@@ -459,12 +459,12 @@ DOCUMENT("Describes the blend state in the PSO.");
struct BlendState
{
DOCUMENT("``True`` if alpha-to-coverage should be used when blending to an MSAA target.");
bool32 AlphaToCoverage = false;
bool AlphaToCoverage = false;
DOCUMENT(R"(``True`` if independent blending for each target should be used.
``False`` if the first blend should be applied to all targets.
)");
bool32 IndependentBlend = false;
bool IndependentBlend = false;
DOCUMENT("A list of :class:`D3D12_Blend` describing the blend operations for each target.");
rdctype::array<Blend> Blends;
@@ -487,9 +487,9 @@ struct OM
DOCUMENT("A :class:`D3D12_View` with details of the bound depth-stencil target.");
View DepthTarget;
DOCUMENT("``True`` if depth access to the depth-stencil target is read-only.");
bool32 DepthReadOnly = false;
bool DepthReadOnly = false;
DOCUMENT("``True`` if stenncil access to the depth-stencil target is read-only.");
bool32 StencilReadOnly = false;
bool StencilReadOnly = false;
DOCUMENT("The sample count used for rendering.");
uint32_t multiSampleCount = 1;
@@ -523,7 +523,7 @@ struct State
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("The name of the pipeline state object.");
rdctype::str name;
+21 -21
View File
@@ -112,17 +112,17 @@ struct ResourceFormat
)");
ResourceFormatType type;
DOCUMENT("The number of components in each element.");
uint32_t compCount;
DOCUMENT("The width in bytes of each component.");
uint32_t compByteWidth;
DOCUMENT("The :class:`type <CompType>` of each component.");
CompType compType;
DOCUMENT("The number of components in each element.");
uint8_t compCount;
DOCUMENT("The width in bytes of each component.");
uint8_t compByteWidth;
DOCUMENT("``True`` if the components are to be read in ``BGRA`` order.");
bool32 bgraOrder;
bool bgraOrder;
DOCUMENT("``True`` if the components are SRGB corrected on read and write.");
bool32 srgbCorrected;
bool srgbCorrected;
};
DECLARE_REFLECTION_STRUCT(ResourceFormat);
@@ -152,7 +152,7 @@ struct BufferDescription
DOCUMENT(R"(``True`` if the name was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName;
bool customName;
DOCUMENT("The way this buffer will be used in the pipeline.");
BufferCategory creationFlags;
@@ -172,7 +172,7 @@ struct TextureDescription
DOCUMENT(R"(``True`` if the name was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName;
bool customName;
DOCUMENT("The :class:`ResourceFormat` that describes the format of each pixel in the texture.");
ResourceFormat format;
@@ -196,7 +196,7 @@ based on the ID.
ResourceId ID;
DOCUMENT("``True`` if this texture is used as a cubemap or cubemap array.");
bool32 cubemap;
bool cubemap;
DOCUMENT("How many mips this texture has, will be at least 1.");
uint32_t mips;
@@ -604,7 +604,7 @@ Currently this information is only available on D3D11 and is fairly API-centric.
struct FrameStatistics
{
DOCUMENT("``True`` if the statistics in this structure are valid.");
bool32 recorded;
bool recorded;
DOCUMENT("A list of constant buffer bind statistics, one per each :class:`stage <ShaderStage>`.");
ConstantBindStats constants[ENUM_ARRAY_SIZE(ShaderStage)];
@@ -873,7 +873,7 @@ different to the above, and lets the UI make decisions e.g. to flip rendering of
DOCUMENT(R"(``True`` if the capture was loaded successfully but running in a degraded mode - e.g.
with software rendering, or with some functionality disabled due to lack of support.
)");
bool32 degraded;
bool degraded;
};
DECLARE_REFLECTION_STRUCT(APIProperties);
@@ -1008,10 +1008,10 @@ struct PixelModification
uint32_t eventID;
DOCUMENT("``True`` if this event came as part of an arbitrary shader write.");
bool32 directShaderWrite;
bool directShaderWrite;
DOCUMENT("``True`` if no pixel shader was bound at this event.");
bool32 unboundPS;
bool unboundPS;
DOCUMENT(R"(A 0-based index of which fragment this modification corresponds to, in the case that
multiple fragments from a single draw wrote to a pixel.
@@ -1033,21 +1033,21 @@ pixel.
ModificationValue postMod;
DOCUMENT("``True`` if the sample mask eliminated this fragment.");
bool32 sampleMasked;
bool sampleMasked;
DOCUMENT("``True`` if the backface culling test eliminated this fragment.");
bool32 backfaceCulled;
bool backfaceCulled;
DOCUMENT("``True`` if depth near/far clipping eliminated this fragment.");
bool32 depthClipped;
bool depthClipped;
DOCUMENT("``True`` if viewport clipping eliminated this fragment.");
bool32 viewClipped;
bool viewClipped;
DOCUMENT("``True`` if scissor clipping eliminated this fragment.");
bool32 scissorClipped;
bool scissorClipped;
DOCUMENT("``True`` if the pixel shader executed a discard on this fragment.");
bool32 shaderDiscarded;
bool shaderDiscarded;
DOCUMENT("``True`` if depth testing eliminated this fragment.");
bool32 depthTestFailed;
bool depthTestFailed;
DOCUMENT("``True`` if stencil testing eliminated this fragment.");
bool32 stencilTestFailed;
bool stencilTestFailed;
DOCUMENT(R"(Determine if this fragment passed all tests and wrote to the texture.
+38 -38
View File
@@ -37,7 +37,7 @@ DOCUMENT(R"(Describes the configuration for a single vertex attribute.
struct VertexAttribute
{
DOCUMENT("``True`` if this vertex attribute is enabled.");
bool32 Enabled = false;
bool Enabled = false;
DOCUMENT("The :class:`ResourceFormat` of the vertex attribute.");
ResourceFormat Format;
@@ -84,7 +84,7 @@ struct VertexInput
DOCUMENT("The :class:`ResourceId` of the index buffer.");
ResourceId ibuffer;
DOCUMENT("``True`` if primitive restart is enabled for strip primitives.");
bool32 primitiveRestart = false;
bool primitiveRestart = false;
DOCUMENT("The index value to use to indicate a strip restart.");
uint32_t restartIndex = 0;
@@ -92,7 +92,7 @@ struct VertexInput
``False`` if the provoking vertex is the first one.
)");
bool32 provokingVertexLast = false;
bool provokingVertexLast = false;
};
DOCUMENT("Describes an OpenGL shader stage.");
@@ -106,23 +106,23 @@ struct Shader
DOCUMENT(R"(``True`` if :data:`ShaderName` was assigned by the application, otherwise it's
autogenerated based on the ID.
)");
bool32 customShaderName = false;
bool customShaderName = false;
DOCUMENT("The name of the program object.");
rdctype::str ProgramName;
DOCUMENT(R"(``True`` if :data:`ProgramName` was assigned by the application, otherwise it's
autogenerated based on the ID.
)");
bool32 customProgramName = false;
bool customProgramName = false;
DOCUMENT("``True`` if a program pipeline object is in use.");
bool32 PipelineActive = false;
bool PipelineActive = false;
DOCUMENT("The name of the pipeline object.");
rdctype::str PipelineName;
DOCUMENT(R"(``True`` if :data:`PipelineName` was assigned by the application, otherwise it's
autogenerated based on the ID.
)");
bool32 customPipelineName = false;
bool customPipelineName = false;
DOCUMENT("A :class:`ShaderReflection` describing the reflection data for this shader.");
ShaderReflection *ShaderDetails = NULL;
@@ -146,20 +146,20 @@ struct FixedVertexProcessing
DOCUMENT("A list of ``float`` giving the default outer level of tessellation.");
float defaultOuterLevel[4] = {0.0f, 0.0f, 0.0f, 0.0f};
DOCUMENT("``True`` if primitives should be discarded during rasterization.");
bool32 discard = false;
bool discard = false;
DOCUMENT("A list of ``bool`` determining which user clipping planes are enabled.");
bool32 clipPlanes[8] = {false, false, false, false, false, false, false, false};
bool clipPlanes[8] = {false, false, false, false, false, false, false, false};
DOCUMENT(R"(``True`` if the clipping origin should be in the lower left.
``False`` if it's in the upper left.
)");
bool32 clipOriginLowerLeft = false;
bool clipOriginLowerLeft = false;
DOCUMENT(R"(``True`` if the clip-space Z goes from ``-1`` to ``1``.
``False`` if the clip-space Z goes from ``0`` to ``1``.
)");
bool32 clipNegativeOneToOne = false;
bool clipNegativeOneToOne = false;
};
DOCUMENT("Describes the details of a texture.");
@@ -206,7 +206,7 @@ struct Sampler
DOCUMENT("The :class:`TextureFilter` describing the filtering mode.");
TextureFilter Filter;
DOCUMENT("``True`` if seamless cubemap filtering is enabled for this texture.");
bool32 SeamlessCube = false;
bool SeamlessCube = false;
DOCUMENT("The maximum anisotropic filtering level to use.");
float MaxAniso = 0.0f;
DOCUMENT("The maximum mip level that can be used.");
@@ -249,15 +249,15 @@ struct ImageLoadStore
DOCUMENT(R"(``True`` if multiple layers are bound together to the image.
``False`` if only one layer is bound.
)");
bool32 Layered = false;
bool Layered = false;
DOCUMENT("The slice of the texture that's used in the attachment.");
uint32_t Layer = 0;
DOCUMENT("The :class:`TextureDim` of the texture.");
TextureDim ResType = TextureDim::Unknown;
DOCUMENT("``True`` if loading from the image is allowed.");
bool32 readAllowed = false;
bool readAllowed = false;
DOCUMENT("``True`` if storing to the image is allowed.");
bool32 writeAllowed = false;
bool writeAllowed = false;
DOCUMENT("The :class:`ResourceFormat` that the image is bound as.");
ResourceFormat Format;
};
@@ -274,9 +274,9 @@ struct Feedback
DOCUMENT("A list of ``int`` with the buffer byte sizes.");
uint64_t Size[4] = {0, 0, 0, 0};
DOCUMENT("``True`` if the transform feedback object is currently active.");
bool32 Active = false;
bool Active = false;
DOCUMENT("``True`` if the transform feedback object is currently paused.");
bool32 Paused = false;
bool Paused = false;
};
DOCUMENT("Describes a single OpenGL viewport.");
@@ -308,7 +308,7 @@ struct Scissor
DOCUMENT("The height of the scissor region.");
int32_t Height = 0;
DOCUMENT("``True`` if this scissor region is enabled.");
bool32 Enabled = false;
bool Enabled = false;
};
DOCUMENT("Describes the rasterizer state toggles.");
@@ -321,7 +321,7 @@ struct RasterizerState
DOCUMENT(R"(``True`` if counter-clockwise polygons are front-facing.
``False`` if clockwise polygons are front-facing.
)");
bool32 FrontCCW = false;
bool FrontCCW = false;
DOCUMENT("The fixed depth bias value to apply to z-values.");
float DepthBias = 0.0f;
DOCUMENT("The slope-scaled depth bias value to apply to z-values.");
@@ -333,35 +333,35 @@ struct RasterizerState
DOCUMENT(R"(``True`` if pixels outside of the near and far depth planes should be clamped and
to ``0.0`` to ``1.0`` and not clipped.
)");
bool32 DepthClamp = false;
bool DepthClamp = false;
DOCUMENT("``True`` if multisampling should be used during rendering.");
bool32 MultisampleEnable = false;
bool MultisampleEnable = false;
DOCUMENT("``True`` if rendering should happen at sample-rate frequency.");
bool32 SampleShading = false;
bool SampleShading = false;
DOCUMENT(R"(``True`` if the generated samples should be bitwise ``AND`` masked with
:data:`SampleMaskValue`.
)");
bool32 SampleMask = false;
bool SampleMask = false;
DOCUMENT("The sample mask value that should be masked against the generated coverage.");
uint32_t SampleMaskValue = ~0U;
DOCUMENT(R"(``True`` if a temporary mask using :data:`SampleCoverageValue` should be used to
resolve the final output color.
)");
bool32 SampleCoverage = false;
bool SampleCoverage = false;
DOCUMENT("``True`` if the temporary sample coverage mask should be inverted.");
bool32 SampleCoverageInvert = false;
bool SampleCoverageInvert = false;
DOCUMENT("The sample coverage value used if :data:`SampleCoverage` is ``True``.");
float SampleCoverageValue = 1.0f;
DOCUMENT("``True`` if alpha-to-coverage should be used when blending to an MSAA target.");
bool32 SampleAlphaToCoverage = false;
bool SampleAlphaToCoverage = false;
DOCUMENT("``True`` if alpha-to-one should be used when blending to an MSAA target.");
bool32 SampleAlphaToOne = false;
bool SampleAlphaToOne = false;
DOCUMENT("The minimum sample shading rate.");
float MinSampleShadingRate = 0.0f;
DOCUMENT("``True`` if the point size can be programmably exported from a shader.");
bool32 ProgrammablePointSize = false;
bool ProgrammablePointSize = false;
DOCUMENT("The fixed point size in pixels.");
float PointSize = 1.0f;
DOCUMENT("The fixed line width in pixels.");
@@ -369,7 +369,7 @@ resolve the final output color.
DOCUMENT("The threshold value at which points are clipped if they exceed this size.");
float PointFadeThreshold = 0.0f;
DOCUMENT("``True`` if the point sprite texture origin is upper-left. ``False`` if lower-left.");
bool32 PointOriginUpperLeft = false;
bool PointOriginUpperLeft = false;
};
DOCUMENT("Describes the rasterization state of the OpenGL pipeline.");
@@ -389,13 +389,13 @@ DOCUMENT("Describes the depth state.");
struct DepthState
{
DOCUMENT("``True`` if depth testing should be performed.");
bool32 DepthEnable = false;
bool DepthEnable = false;
DOCUMENT("The :class:`CompareFunc` to use for testing depth values.");
CompareFunc DepthFunc = CompareFunc::AlwaysTrue;
DOCUMENT("``True`` if depth values should be written to the depth target.");
bool32 DepthWrites = false;
bool DepthWrites = false;
DOCUMENT("``True`` if depth bounds tests should be applied.");
bool32 DepthBounds = false;
bool DepthBounds = false;
DOCUMENT("The near plane bounding value.");
double NearBound = 0.0;
DOCUMENT("The far plane bounding value.");
@@ -425,7 +425,7 @@ DOCUMENT("Describes the stencil state.");
struct StencilState
{
DOCUMENT("``True`` if stencil operations should be performed.");
bool32 StencilEnable = false;
bool StencilEnable = false;
DOCUMENT("A :class:`GL_StencilFace` describing what happens for front-facing polygons.");
StencilFace m_FrontFace;
@@ -488,7 +488,7 @@ struct Blend
LogicOp Logic = LogicOp::NoOp;
DOCUMENT("``True`` if blending is enabled for this target.");
bool32 Enabled = false;
bool Enabled = false;
DOCUMENT("The mask for writes to the render target.");
byte WriteMask = 0;
};
@@ -508,9 +508,9 @@ struct FrameBuffer
{
DOCUMENT(
"``True`` if sRGB correction should be applied when writing to an sRGB-formatted texture.");
bool32 FramebufferSRGB = false;
bool FramebufferSRGB = false;
DOCUMENT("``True`` if dithering should be used when writing to color buffers.");
bool32 Dither = false;
bool Dither = false;
DOCUMENT("A :class:`GL_FBO` with the information about a draw framebuffer.");
FBO m_DrawFBO;
@@ -533,9 +533,9 @@ struct Hints
DOCUMENT("A :class:`QualityHint` with the texture compression hint.");
QualityHint TexCompression = QualityHint::DontCare;
DOCUMENT("``True`` if line smoothing is enabled.");
bool32 LineSmoothEnabled = false;
bool LineSmoothEnabled = false;
DOCUMENT("``True`` if polygon smoothing is enabled.");
bool32 PolySmoothEnabled = false;
bool PolySmoothEnabled = false;
};
DOCUMENT("The full current OpenGL pipeline state.");
+10 -11
View File
@@ -39,7 +39,6 @@ inline const char *TypeName();
}
typedef uint8_t byte;
typedef uint32_t bool32;
// Guidelines for documentation:
//
@@ -1356,7 +1355,7 @@ This function will block until the control connection is ready, or an error occu
:rtype: TargetControl
)");
extern "C" RENDERDOC_API ITargetControl *RENDERDOC_CC RENDERDOC_CreateTargetControl(
const char *host, uint32_t ident, const char *clientName, bool32 forceConnection);
const char *host, uint32_t ident, const char *clientName, bool forceConnection);
DOCUMENT(R"(Repeatedly query to enumerate which targets are active on a given machine and their
idents.
@@ -1413,7 +1412,7 @@ This function will block until a remote connection tells the server to shut down
)");
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_BecomeRemoteServer(const char *listenhost,
uint32_t port,
volatile bool32 *killReplay);
volatile bool *killReplay);
//////////////////////////////////////////////////////////////////////////
// Injection/execution capture functions.
@@ -1443,9 +1442,9 @@ This function must be called when the process is running with administrator/supe
with :ref:`StopGlobalHook` before the application is closed.
:rtype: ``bool``
)");
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_StartGlobalHook(const char *pathmatch,
const char *logfile,
const CaptureOptions &opts);
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_StartGlobalHook(const char *pathmatch,
const char *logfile,
const CaptureOptions &opts);
DOCUMENT(R"(Stop the global hook that was activated by :ref:`StartGlobalHook`.
@@ -1461,14 +1460,14 @@ This function can only be called if global hooking is supported (see :ref:`CanGl
:return: ``True`` if the hook is active, or ``False`` if the hook is inactive.
:rtype: ``bool``
)");
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_IsGlobalHookActive();
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_IsGlobalHookActive();
DOCUMENT(R"(Determines if the global hook is supported on the current platform and configuration.
:return: ``True`` if global hooking can be used on the platform, ``False`` if not.
:rtype: ``bool``
)");
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_CanGlobalHook();
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_CanGlobalHook();
DOCUMENT(R"(Launch an application and inject into it to allow capturing.
@@ -1487,7 +1486,7 @@ DOCUMENT(R"(Launch an application and inject into it to allow capturing.
extern "C" RENDERDOC_API uint32_t RENDERDOC_CC
RENDERDOC_ExecuteAndInject(const char *app, const char *workingDir, const char *cmdLine,
const rdctype::array<EnvironmentModification> &env, const char *logfile,
const CaptureOptions &opts, bool32 waitForExit);
const CaptureOptions &opts, bool waitForExit);
DOCUMENT(R"(Where supported by operating system and permissions, inject into a running process.
@@ -1501,7 +1500,7 @@ DOCUMENT(R"(Where supported by operating system and permissions, inject into a r
)");
extern "C" RENDERDOC_API uint32_t RENDERDOC_CC
RENDERDOC_InjectIntoProcess(uint32_t pid, const rdctype::array<EnvironmentModification> &env,
const char *logfile, const CaptureOptions &opts, bool32 waitForExit);
const char *logfile, const CaptureOptions &opts, bool waitForExit);
DOCUMENT(R"(When debugging RenderDoc it can be useful to capture itself by doing a side-build with a
temporary name. This function wraps up the use of the in-application API to start a capture.
@@ -1539,7 +1538,7 @@ RENDERDOC_InitGlobalEnv(GlobalEnvironment env, const rdctype::array<rdctype::str
DOCUMENT("Internal function for triggering exception handler.");
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_TriggerExceptionHandler(void *exceptionPtrs,
bool32 crashed);
bool crashed);
DOCUMENT(R"(Sets the location for the diagnostic log output, shared by captured programs and the
analysis program.
+2 -2
View File
@@ -298,7 +298,7 @@ DOCUMENT(R"(Represents the component type of a channel in a texture or element i
A double-precision (64-bit) floating point value.
)");
enum class CompType : uint32_t
enum class CompType : uint8_t
{
Typeless = 0,
Float,
@@ -1116,7 +1116,7 @@ or formats that don't have equal byte-multiple sizes for each channel.
The pixel data is in an opaque YUV format.
)");
enum class ResourceFormatType : uint32_t
enum class ResourceFormatType : uint8_t
{
Regular = 0,
Undefined,
+36 -37
View File
@@ -30,7 +30,6 @@
#include "replay_enums.h"
typedef uint8_t byte;
typedef uint32_t bool32;
DOCUMENT("A ``float`` 4 component vector.")
struct FloatVecVal
@@ -180,13 +179,13 @@ struct ShaderVariable
VarType type;
DOCUMENT("``True`` if the contents of this variable should be displayed as hex.");
bool32 displayAsHex;
bool displayAsHex;
DOCUMENT("The :class:`contents <ShaderValue>` of this variable if it has no members.");
ShaderValue value;
DOCUMENT("``True`` if this variable is a structure and not an array or basic type.");
bool32 isStruct;
bool isStruct;
DOCUMENT("The members of this variable as a list of :class:`ShaderValue`.");
rdctype::array<ShaderVariable> members;
@@ -268,13 +267,10 @@ struct SigParameter
rdctype::str varName;
DOCUMENT("The semantic name of this variable, if the API uses semantic matching for bindings.");
rdctype::str semanticName;
DOCUMENT("The semantic index of this variable - see :data:`semanticName`.");
uint32_t semanticIndex;
DOCUMENT("The combined semantic name and index.");
rdctype::str semanticIdxName;
DOCUMENT("A convenience flag - ``True`` if the semantic name is unique and no index is needed.");
bool32 needSemanticIndex;
DOCUMENT("The semantic index of this variable - see :data:`semanticName`.");
uint32_t semanticIndex;
DOCUMENT(R"(The index of the shader register/binding used to store this signature element.
@@ -297,6 +293,9 @@ shader itself, for APIs that pack signatures together.
)");
uint8_t channelUsedMask;
DOCUMENT("A convenience flag - ``True`` if the semantic name is unique and no index is needed.");
bool needSemanticIndex;
DOCUMENT("The number of components used to store this element. See :data:`compType`.");
uint32_t compCount;
DOCUMENT(
@@ -319,13 +318,13 @@ struct ShaderVariableDescriptor
DOCUMENT("The :class:`VarType` that this basic constant stores.");
VarType type;
DOCUMENT("The number of rows in this matrix.");
uint32_t rows;
uint8_t rows;
DOCUMENT("The number of columns in this matrix.");
uint32_t cols;
uint8_t cols;
DOCUMENT("``True`` if the matrix is stored as row major instead of column major.");
bool rowMajorStorage;
DOCUMENT("The number of elements in the array, or 1 if it's not an array.");
uint32_t elements;
DOCUMENT("``True`` if the matrix is stored as row major instead of column major.");
bool32 rowMajorStorage;
DOCUMENT("The number of bytes between the start of one element in the array and the next.");
uint32_t arrayStride;
DOCUMENT("The name of the type of this constant, e.g. a ``struct`` name.");
@@ -385,17 +384,17 @@ struct ConstantBlock
rdctype::str name;
DOCUMENT("The constants contained within this block as a list of :class:`ShaderConstant`.");
rdctype::array<ShaderConstant> variables;
DOCUMENT(R"(``True`` if the contents are stored in a buffer of memory. If not then they are set by
some other API-specific method, such as direct function calls or they may be compile-time
specialisation constants.
)");
bool32 bufferBacked;
DOCUMENT(R"(The bindpoint for this block. This is an index in the
:data:`ShaderBindpointMapping.ConstantBlocks` list.
)");
int32_t bindPoint;
DOCUMENT("The total number of bytes consumed by all of the constants contained in this block.");
uint32_t byteSize;
DOCUMENT(R"(``True`` if the contents are stored in a buffer of memory. If not then they are set by
some other API-specific method, such as direct function calls or they may be compile-time
specialisation constants.
)");
bool bufferBacked;
};
DECLARE_REFLECTION_STRUCT(ConstantBlock);
@@ -407,23 +406,6 @@ directly by means of the API resource binding system.
)");
struct ShaderResource
{
DOCUMENT(R"(``True`` if this resource is a sampler.
If the API has no concept of separate samplers, this will always be ``False``.
.. note:: this is not exclusive with the other flags in the case of e.g. combined sampler/texture
objects.
)");
bool32 IsSampler;
DOCUMENT(R"(``True`` if this resource is a texture, otherwise it is a buffer or sampler (see
:data:`IsSampler`).
)");
bool32 IsTexture;
DOCUMENT(R"(``True`` if this resource is available to the shader for reading only, otherwise it is
able to be read from and written to arbitrarily.
)");
bool32 IsReadOnly;
DOCUMENT("The :class:`TextureDim` that describes the type of this resource.");
TextureDim resType;
@@ -438,6 +420,23 @@ able to be read from and written to arbitrarily.
:data:`ShaderBindpointMapping.ReadWriteResources` list as appropriate (see :data:`IsReadOnly`).
)");
int32_t bindPoint;
DOCUMENT(R"(``True`` if this resource is a sampler.
If the API has no concept of separate samplers, this will always be ``False``.
.. note:: this is not exclusive with the other flags in the case of e.g. combined sampler/texture
objects.
)");
bool IsSampler;
DOCUMENT(R"(``True`` if this resource is a texture, otherwise it is a buffer or sampler (see
:data:`IsSampler`).
)");
bool IsTexture;
DOCUMENT(R"(``True`` if this resource is available to the shader for reading only, otherwise it is
able to be read from and written to arbitrarily.
)");
bool IsReadOnly;
};
DECLARE_REFLECTION_STRUCT(ShaderResource);
@@ -539,11 +538,11 @@ struct BindpointMap
int32_t bindset;
DOCUMENT("The binding index.");
int32_t bind;
DOCUMENT(
"``True`` if the shader actually uses this resource, otherwise it's declared but unused.");
bool32 used;
DOCUMENT("If this is an arrayed binding, the number of elements in the array.");
uint32_t arraySize;
DOCUMENT(
"``True`` if the shader actually uses this resource, otherwise it's declared but unused.");
bool used;
};
DECLARE_REFLECTION_STRUCT(BindpointMap);
+18 -18
View File
@@ -36,7 +36,7 @@ struct BindingElement
DOCUMENT("The :class:`ResourceId` of the current sampler object.");
ResourceId sampler;
DOCUMENT("``True`` if this is an immutable sampler binding.");
bool32 immutableSampler = false;
bool immutableSampler = false;
DOCUMENT("The name of the current sampler object, if one is bound. Empty for other bindings.");
rdctype::str name;
@@ -44,7 +44,7 @@ struct BindingElement
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("The :class:`ResourceFormat` that the view uses.");
ResourceFormat viewfmt;
@@ -86,7 +86,7 @@ based on the ID.
DOCUMENT("For samplers - the RGBA border color.");
float BorderColor[4];
DOCUMENT("For samplers - ``True`` if unnormalized co-ordinates are used in this sampler.");
bool32 unnormalized = false;
bool unnormalized = false;
DOCUMENT(R"(For samplers - check if the border color is used in this Vulkan sampler.
@@ -158,7 +158,7 @@ DOCUMENT("Describes the vulkan input assembly configuration.");
struct InputAssembly
{
DOCUMENT("``True`` if primitive restart is enabled for strip primitives.");
bool32 primitiveRestartEnable = false;
bool primitiveRestartEnable = false;
DOCUMENT("The :class:`VK_IB` with the index buffer binding.");
IB ibuffer;
@@ -187,7 +187,7 @@ struct VertexBinding
DOCUMENT("The byte stride between the start of one set of vertex data and the next.");
uint32_t bytestride = 0;
DOCUMENT("``True`` if the vertex data is instance-rate.");
bool32 perInstance = false;
bool perInstance = false;
};
DOCUMENT("Describes a single Vulkan vertex buffer binding.")
@@ -232,7 +232,7 @@ struct Shader
DOCUMENT(R"(``True`` if :data:`name` was assigned by the application, otherwise it's autogenerated
based on the ID.
)");
bool32 customName = false;
bool customName = false;
DOCUMENT("A :class:`ShaderReflection` describing the reflection data for this shader.");
ShaderReflection *ShaderDetails = NULL;
@@ -307,13 +307,13 @@ struct Raster
DOCUMENT(R"(``True`` if pixels outside of the near and far depth planes should be clamped and
to ``0.0`` to ``1.0`` and not clipped.
)");
bool32 depthClampEnable = false;
bool depthClampEnable = false;
DOCUMENT("``True`` if primitives should be discarded during rasterization.");
bool32 rasterizerDiscardEnable = false;
bool rasterizerDiscardEnable = false;
DOCUMENT(R"(``True`` if counter-clockwise polygons are front-facing.
``False`` if clockwise polygons are front-facing.
)");
bool32 FrontCCW = false;
bool FrontCCW = false;
DOCUMENT("The polygon fill mode.");
FillMode fillMode = FillMode::Solid;
DOCUMENT("The polygon culling mode.");
@@ -337,7 +337,7 @@ struct MultiSample
DOCUMENT("How many samples to use when rasterizing.");
uint32_t rasterSamples = 0;
DOCUMENT("``True`` if rendering should happen at sample-rate frequency.");
bool32 sampleShadingEnable = false;
bool sampleShadingEnable = false;
DOCUMENT("The minimum sample shading rate.");
float minSampleShading = 0.0f;
DOCUMENT("A mask that generated samples should be masked with using bitwise ``AND``.");
@@ -359,7 +359,7 @@ DOCUMENT("Describes the blend configuration for a given Vulkan attachment.");
struct Blend
{
DOCUMENT("``True`` if blending is enabled for this attachment.");
bool32 blendEnable = false;
bool blendEnable = false;
DOCUMENT("A :class:`VK_BlendEquation` describing the blending for colour values.");
BlendEquation blend;
@@ -374,11 +374,11 @@ DOCUMENT("Describes the pipeline blending state.");
struct ColorBlend
{
DOCUMENT("``True`` if alpha-to-coverage should be used when blending to an MSAA target.");
bool32 alphaToCoverageEnable = false;
bool alphaToCoverageEnable = false;
DOCUMENT("``True`` if alpha-to-one should be used when blending to an MSAA target.");
bool32 alphaToOneEnable = false;
bool alphaToOneEnable = false;
DOCUMENT("``True`` if the logic operation in :data:`logic` should be used.");
bool32 logicOpEnable = false;
bool logicOpEnable = false;
DOCUMENT(
"The :class:`LogicOp` to use for logic operations, if :data:`logicOpEnable` is ``True``.");
LogicOp logic = LogicOp::NoOp;
@@ -413,16 +413,16 @@ DOCUMENT("Describes the pipeline depth-stencil state.");
struct DepthStencil
{
DOCUMENT("``True`` if depth testing should be performed.");
bool32 depthTestEnable = false;
bool depthTestEnable = false;
DOCUMENT("``True`` if depth values should be written to the depth target.");
bool32 depthWriteEnable = false;
bool depthWriteEnable = false;
DOCUMENT("``True`` if depth bounds tests should be applied.");
bool32 depthBoundsEnable = false;
bool depthBoundsEnable = false;
DOCUMENT("The :class:`CompareFunc` to use for testing depth values.");
CompareFunc depthCompareOp = CompareFunc::AlwaysTrue;
DOCUMENT("``True`` if stencil operations should be performed.");
bool32 stencilTestEnable = false;
bool stencilTestEnable = false;
DOCUMENT("A :class:`VK_StencilFace` describing what happens for front-facing polygons.");
StencilFace front;
+1 -1
View File
@@ -966,7 +966,7 @@ dds_data load_dds_from_file(FILE *f)
}
ret.format.compByteWidth = 1;
ret.format.compCount = header.ddspf.dwRGBBitCount / 8;
ret.format.compCount = uint8_t(header.ddspf.dwRGBBitCount / 8);
ret.format.compType = CompType::UNorm;
ret.format.type = ResourceFormatType::Regular;
+1 -3
View File
@@ -121,8 +121,6 @@ enum RDCDriver
RDC_Custom9,
};
typedef uint32_t bool32;
namespace DXBC
{
class DXBCFile;
@@ -214,7 +212,7 @@ public:
bool IsReplayApp() const { return m_Replay; }
const string &GetConfigSetting(string name) { return m_ConfigSettings[name]; }
void SetConfigSetting(string name, string value) { m_ConfigSettings[name] = value; }
void BecomeRemoteServer(const char *listenhost, uint16_t port, volatile uint32_t &killReplay);
void BecomeRemoteServer(const char *listenhost, uint16_t port, volatile bool &killReplay);
void SetCaptureOptions(const CaptureOptions &opts);
const CaptureOptions &GetCaptureOptions() const { return m_Options; }
+1 -1
View File
@@ -498,7 +498,7 @@ static void ActiveRemoteClientThread(void *data)
SAFE_DELETE(client);
}
void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, volatile bool32 &killReplay)
void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, volatile bool &killReplay)
{
Network::Socket *sock = Network::CreateServerSocket(listenhost, port, 1);
+31 -31
View File
@@ -109,7 +109,7 @@ void Serialiser::Serialise(const char *name, ResourceFormat &el)
Serialise("", el.bgraOrder);
Serialise("", el.srgbCorrected);
SIZE_CHECK(24);
SIZE_CHECK(6);
}
template <>
@@ -151,7 +151,7 @@ void Serialiser::Serialise(const char *name, SigParameter &el)
Serialise("", el.stream);
Serialise("", el.arrayIndex);
SIZE_CHECK(88);
SIZE_CHECK(80);
}
template <>
@@ -166,7 +166,7 @@ void Serialiser::Serialise(const char *name, ShaderVariableType &el)
Serialise("", el.descriptor.arrayStride);
Serialise("", el.members);
SIZE_CHECK(56);
SIZE_CHECK(48);
}
template <>
@@ -178,7 +178,7 @@ void Serialiser::Serialise(const char *name, ShaderConstant &el)
Serialise("", el.defaultValue);
Serialise("", el.type);
SIZE_CHECK(88);
SIZE_CHECK(80);
}
template <>
@@ -204,7 +204,7 @@ void Serialiser::Serialise(const char *name, ShaderResource &el)
Serialise("", el.variableType);
Serialise("", el.bindPoint);
SIZE_CHECK(96);
SIZE_CHECK(80);
}
template <>
@@ -306,7 +306,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::Layout &el)
Serialise("", el.PerInstance);
Serialise("", el.InstanceDataStepRate);
SIZE_CHECK(64);
SIZE_CHECK(48);
}
template <>
@@ -343,7 +343,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::View &el)
Serialise("", el.ArraySize);
Serialise("", el.FirstArraySlice);
SIZE_CHECK(88);
SIZE_CHECK(64);
}
template <>
@@ -395,7 +395,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::Rasterizer &el)
Serialise("", el.Scissors);
Serialise("", el.Viewports);
SIZE_CHECK(88);
SIZE_CHECK(80);
}
template <>
@@ -415,7 +415,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::Blend &el)
Serialise("", el.LogicEnabled);
Serialise("", el.WriteMask);
SIZE_CHECK(40);
SIZE_CHECK(32);
}
template <>
@@ -460,7 +460,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::OM &el)
Serialise("", el.DepthReadOnly);
Serialise("", el.StencilReadOnly);
SIZE_CHECK(256);
SIZE_CHECK(224);
}
template <>
@@ -480,7 +480,7 @@ void Serialiser::Serialise(const char *name, D3D11Pipe::State &el)
Serialise("", el.m_RS);
Serialise("", el.m_OM);
SIZE_CHECK(1600);
SIZE_CHECK(1560);
}
#pragma endregion D3D11 pipeline state
@@ -498,7 +498,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::Layout &el)
Serialise("", el.PerInstance);
Serialise("", el.InstanceDataStepRate);
SIZE_CHECK(64);
SIZE_CHECK(48);
}
template <>
@@ -578,7 +578,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::View &el)
Serialise("", el.MinLODClamp);
SIZE_CHECK(136);
SIZE_CHECK(120);
}
template <>
@@ -611,7 +611,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::Rasterizer &el)
Serialise("", el.Viewports);
Serialise("", el.m_State);
SIZE_CHECK(88);
SIZE_CHECK(80);
}
template <>
@@ -631,7 +631,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::Blend &el)
Serialise("", el.LogicEnabled);
Serialise("", el.WriteMask);
SIZE_CHECK(40);
SIZE_CHECK(32);
}
template <>
@@ -673,7 +673,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::OM &el)
Serialise("", el.multiSampleCount);
Serialise("", el.multiSampleQuality);
SIZE_CHECK(264);
SIZE_CHECK(240);
}
template <>
@@ -719,7 +719,7 @@ void Serialiser::Serialise(const char *name, D3D12Pipe::State &el)
Serialise("", el.Resources);
SIZE_CHECK(1112);
SIZE_CHECK(1080);
}
#pragma endregion D3D12 pipeline state
@@ -735,7 +735,7 @@ void Serialiser::Serialise(const char *name, GLPipe::VertexAttribute &el)
Serialise("", el.BufferSlot);
Serialise("", el.RelativeOffset);
SIZE_CHECK(52);
SIZE_CHECK(32);
}
template <>
@@ -807,7 +807,7 @@ void Serialiser::Serialise(const char *name, GLPipe::ImageLoadStore &el)
Serialise("", el.writeAllowed);
Serialise("", el.Format);
SIZE_CHECK(56);
SIZE_CHECK(32);
}
template <>
@@ -817,7 +817,7 @@ void Serialiser::Serialise(const char *name, GLPipe::Rasterizer &el)
Serialise("", el.Scissors);
Serialise("", el.m_State);
SIZE_CHECK(120);
SIZE_CHECK(104);
}
template <>
@@ -872,7 +872,7 @@ void Serialiser::Serialise(const char *name, GLPipe::Blend &el)
Serialise("", el.m_AlphaBlend.Destination);
Serialise("", el.m_AlphaBlend.Operation);
SIZE_CHECK(36);
SIZE_CHECK(32);
}
template <>
@@ -951,7 +951,7 @@ void Serialiser::Serialise(const char *name, GLPipe::State &el)
Serialise("", el.m_Hints);
SIZE_CHECK(1880);
SIZE_CHECK(1832);
}
#pragma endregion OpenGL pipeline state
@@ -991,7 +991,7 @@ void Serialiser::Serialise(const char *name, VKPipe::BindingElement &el)
SerialisePODArray<4>("", el.BorderColor);
Serialise("", el.unnormalized);
SIZE_CHECK(200);
SIZE_CHECK(176);
};
template <>
@@ -1036,7 +1036,7 @@ void Serialiser::Serialise(const char *name, VKPipe::VertexAttribute &el)
Serialise("", el.format);
Serialise("", el.byteoffset);
SIZE_CHECK(36);
SIZE_CHECK(20);
}
template <>
@@ -1115,7 +1115,7 @@ void Serialiser::Serialise(const char *name, VKPipe::ColorBlend &el)
SerialisePODArray<4>("", el.blendConst);
SIZE_CHECK(48);
SIZE_CHECK(40);
}
template <>
@@ -1132,7 +1132,7 @@ void Serialiser::Serialise(const char *name, VKPipe::Attachment &el)
Serialise("", el.numMip);
Serialise("", el.numLayer);
SIZE_CHECK(72);
SIZE_CHECK(56);
}
template <>
@@ -1164,7 +1164,7 @@ void Serialiser::Serialise(const char *name, VKPipe::DepthStencil &el)
Serialise("", el.minDepthBounds);
Serialise("", el.maxDepthBounds);
SIZE_CHECK(84);
SIZE_CHECK(76);
}
template <>
@@ -1235,7 +1235,7 @@ void Serialiser::Serialise(const char *name, VKPipe::State &el)
Serialise("", el.images);
SIZE_CHECK(1352);
SIZE_CHECK(1328);
}
#pragma endregion Vulkan pipeline state
@@ -1262,7 +1262,7 @@ void Serialiser::Serialise(const char *name, TextureDescription &el)
Serialise("", el.msSamp);
Serialise("", el.byteSize);
SIZE_CHECK(104);
SIZE_CHECK(88);
}
template <>
@@ -1581,7 +1581,7 @@ void Serialiser::Serialise(const char *name, MeshFormat &el)
Serialise("", el.nearPlane);
Serialise("", el.farPlane);
SIZE_CHECK(112);
SIZE_CHECK(88);
}
template <>
@@ -1627,7 +1627,7 @@ void Serialiser::Serialise(const char *name, PixelModification &el)
Serialise("", el.depthTestFailed);
Serialise("", el.stencilTestFailed);
SIZE_CHECK(124);
SIZE_CHECK(96);
}
#pragma endregion Data descriptors
+1 -1
View File
@@ -672,7 +672,7 @@ private:
};
extern "C" RENDERDOC_API ITargetControl *RENDERDOC_CC RENDERDOC_CreateTargetControl(
const char *host, uint32_t ident, const char *clientName, bool32 forceConnection)
const char *host, uint32_t ident, const char *clientName, bool forceConnection)
{
string s = "localhost";
if(host != NULL && host[0] != '\0')
+1 -1
View File
@@ -7072,7 +7072,7 @@ vector<PixelModification> D3D11DebugManager::PixelHistory(vector<EventUsage> eve
{
RDCASSERT(fmt.compByteWidth == 1);
for(uint32_t c = 0; c < RDCMIN(fmt.compCount, 3U); c++)
for(uint32_t c = 0; c < RDCMIN(fmt.compCount, uint8_t(3)); c++)
{
mod.preMod.col.value_f[c] = ConvertFromSRGB8(mod.preMod.col.value_u[c] & 0xff);
mod.postMod.col.value_f[c] = ConvertFromSRGB8(mod.postMod.col.value_u[c] & 0xff);
+3 -3
View File
@@ -740,8 +740,8 @@ static ShaderVariableType MakeShaderVariableType(DXBC::CBufferVariableType type,
case DXBC::VARTYPE_MIN16FLOAT:
default: ret.descriptor.type = VarType::Float; break;
}
ret.descriptor.rows = type.descriptor.rows;
ret.descriptor.cols = type.descriptor.cols;
ret.descriptor.rows = (uint8_t)type.descriptor.rows;
ret.descriptor.cols = (uint8_t)type.descriptor.cols;
ret.descriptor.elements = type.descriptor.elements;
ret.descriptor.name = type.descriptor.name;
ret.descriptor.rowMajorStorage = (type.descriptor.varClass == DXBC::CLASS_MATRIX_ROWS);
@@ -978,7 +978,7 @@ ShaderReflection *MakeShaderReflection(DXBC::DXBCFile *dxbc)
r.retType != DXBC::ShaderInputBind::RETTYPE_CONTINUED)
{
res.variableType.descriptor.rows = 1;
res.variableType.descriptor.cols = r.numSamples;
res.variableType.descriptor.cols = (uint8_t)r.numSamples;
res.variableType.descriptor.elements = 1;
string name;
+3 -3
View File
@@ -384,8 +384,8 @@ static ShaderVariableType MakeShaderVariableType(DXBC::CBufferVariableType type,
case DXBC::VARTYPE_MIN16FLOAT:
default: ret.descriptor.type = VarType::Float; break;
}
ret.descriptor.rows = type.descriptor.rows;
ret.descriptor.cols = type.descriptor.cols;
ret.descriptor.rows = (uint8_t)type.descriptor.rows;
ret.descriptor.cols = (uint8_t)type.descriptor.cols;
ret.descriptor.elements = type.descriptor.elements;
ret.descriptor.name = type.descriptor.name;
ret.descriptor.rowMajorStorage = (type.descriptor.varClass == DXBC::CLASS_MATRIX_ROWS);
@@ -650,7 +650,7 @@ void MakeShaderReflection(DXBC::DXBCFile *dxbc, ShaderReflection *refl,
r.retType != DXBC::ShaderInputBind::RETTYPE_CONTINUED)
{
res.variableType.descriptor.rows = 1;
res.variableType.descriptor.cols = r.numSamples;
res.variableType.descriptor.cols = (uint8_t)r.numSamples;
res.variableType.descriptor.elements = 1;
string name;
+3 -2
View File
@@ -1378,6 +1378,7 @@ ResourceFormat MakeResourceFormat(const GLHookSet &gl, GLenum target, GLenum fmt
ret.type = ResourceFormatType::R10G10B10A2;
ret.compType = fmt == eGL_RGB10_A2 ? CompType::UNorm : CompType::UInt;
break;
default: break;
}
if(ret.Special())
@@ -1414,10 +1415,10 @@ ResourceFormat MakeResourceFormat(const GLHookSet &gl, GLenum target, GLenum fmt
if(data[0] == data[1] && data[1] == data[2] && data[2] == data[3])
{
ret.compByteWidth = (uint32_t)(data[0] / 8);
ret.compByteWidth = (uint8_t)(data[0] / 8);
// wasn't a byte format (8, 16, 32)
if(ret.compByteWidth * 8 != (uint32_t)data[0])
if(int32_t(ret.compByteWidth) * 8 != data[0])
{
ret.type = ResourceFormatType::Undefined;
RDCERR("Unexpected/unhandled non-uniform format: '%s'", ToStr::Get(fmt).c_str());
+3 -3
View File
@@ -39,7 +39,7 @@ struct DynShaderVariableType
uint32_t rows;
uint32_t cols;
uint32_t elements;
bool32 rowMajorStorage;
bool rowMajorStorage;
uint32_t arrayStride;
string name;
} descriptor;
@@ -96,8 +96,8 @@ void copy(rdctype::array<ShaderConstant> &outvars, const vector<DynShaderConstan
outvars[i].reg.comp = invars[i].reg.comp;
outvars[i].defaultValue = 0;
outvars[i].type.descriptor.type = invars[i].type.descriptor.type;
outvars[i].type.descriptor.rows = invars[i].type.descriptor.rows;
outvars[i].type.descriptor.cols = invars[i].type.descriptor.cols;
outvars[i].type.descriptor.rows = (uint8_t)invars[i].type.descriptor.rows;
outvars[i].type.descriptor.cols = (uint8_t)invars[i].type.descriptor.cols;
outvars[i].type.descriptor.elements = invars[i].type.descriptor.elements;
outvars[i].type.descriptor.rowMajorStorage = invars[i].type.descriptor.rowMajorStorage;
outvars[i].type.descriptor.arrayStride = invars[i].type.descriptor.arrayStride;
@@ -3528,13 +3528,13 @@ void MakeConstantBlockVariable(ShaderConstant &outConst, SPVTypeData *type, cons
if(type->type == SPVTypeData::eMatrix)
{
outConst.type.descriptor.rows = type->vectorSize;
outConst.type.descriptor.cols = type->matrixSize;
outConst.type.descriptor.rows = (uint8_t)type->vectorSize;
outConst.type.descriptor.cols = (uint8_t)type->matrixSize;
}
else
{
outConst.type.descriptor.rows = 1;
outConst.type.descriptor.cols = type->vectorSize;
outConst.type.descriptor.cols = (uint8_t)type->vectorSize;
}
outConst.type.descriptor.name = type->GetName();
+14 -13
View File
@@ -229,7 +229,7 @@ RENDERDOC_InitGlobalEnv(GlobalEnvironment env, const rdctype::array<rdctype::str
}
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_TriggerExceptionHandler(void *exceptionPtrs,
bool32 crashed)
bool crashed)
{
if(RenderDoc::Inst().GetCrashHandler() == NULL)
return;
@@ -295,7 +295,7 @@ RENDERDOC_CreateReplayRenderer(const char *logfile, float *progress, IReplayCont
extern "C" RENDERDOC_API uint32_t RENDERDOC_CC
RENDERDOC_ExecuteAndInject(const char *app, const char *workingDir, const char *cmdLine,
const rdctype::array<EnvironmentModification> &env, const char *logfile,
const CaptureOptions &opts, bool32 waitForExit)
const CaptureOptions &opts, bool waitForExit)
{
return Process::LaunchAndInjectIntoProcess(app, workingDir, cmdLine, env, logfile, opts,
waitForExit != 0);
@@ -306,9 +306,9 @@ extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_GetDefaultCaptureOptions(Ca
*opts = CaptureOptions();
}
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_StartGlobalHook(const char *pathmatch,
const char *logfile,
const CaptureOptions &opts)
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_StartGlobalHook(const char *pathmatch,
const char *logfile,
const CaptureOptions &opts)
{
return Process::StartGlobalHook(pathmatch, logfile, opts);
}
@@ -318,26 +318,26 @@ extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_StopGlobalHook()
Process::StopGlobalHook();
}
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_IsGlobalHookActive()
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_IsGlobalHookActive()
{
return Process::IsGlobalHookActive();
}
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_CanGlobalHook()
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_CanGlobalHook()
{
return Process::CanGlobalHook();
}
extern "C" RENDERDOC_API uint32_t RENDERDOC_CC
RENDERDOC_InjectIntoProcess(uint32_t pid, const rdctype::array<EnvironmentModification> &env,
const char *logfile, const CaptureOptions &opts, bool32 waitForExit)
const char *logfile, const CaptureOptions &opts, bool waitForExit)
{
return Process::InjectIntoProcess(pid, env, logfile, opts, waitForExit != 0);
}
extern "C" RENDERDOC_API bool32 RENDERDOC_CC RENDERDOC_GetThumbnail(const char *filename,
FileType type, uint32_t maxsize,
rdctype::array<byte> *buf)
extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_GetThumbnail(const char *filename,
FileType type, uint32_t maxsize,
rdctype::array<byte> *buf)
{
ICaptureFile *file = RENDERDOC_OpenCaptureFile(filename);
@@ -415,9 +415,9 @@ extern "C" RENDERDOC_API uint32_t RENDERDOC_CC RENDERDOC_GetDefaultRemoteServerP
extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_BecomeRemoteServer(const char *listenhost,
uint32_t port,
volatile bool32 *killReplay)
volatile bool *killReplay)
{
bool32 dummy = false;
bool dummy = false;
if(killReplay == NULL)
killReplay = &dummy;
@@ -520,6 +520,7 @@ static std::string ResourceFormatName(const ResourceFormat &fmt)
{
switch(fmt.type)
{
case ResourceFormatType::Regular: break;
case ResourceFormatType::Undefined: return "Undefined";
case ResourceFormatType::BC1: return fmt.srgbCorrected ? "BC1_SRGB" : "BC1_UNORM";
case ResourceFormatType::BC2: return fmt.srgbCorrected ? "BC2_SRGB" : "BC2_UNORM";
+67
View File
@@ -1649,3 +1649,70 @@ void ReplayController::FetchPipelineState()
m_GLPipelineState = &m_pDevice->GetGLPipelineState();
m_VulkanPipelineState = &m_pDevice->GetVulkanPipelineState();
}
struct testStruct
{
#define INSTANTIATE(cls) cls CONCAT(testthing, __LINE__);
INSTANTIATE(MeshFormat);
INSTANTIATE(MeshDisplay);
INSTANTIATE(TextureDisplay);
INSTANTIATE(TextureComponentMapping);
INSTANTIATE(TextureSampleMapping);
INSTANTIATE(TextureSliceMapping);
INSTANTIATE(TextureSave);
INSTANTIATE(NewCaptureData);
INSTANTIATE(RegisterAPIData);
INSTANTIATE(BusyData);
INSTANTIATE(NewChildData);
INSTANTIATE(TargetControlMessage);
INSTANTIATE(EnvironmentModification);
INSTANTIATE(FloatVector);
INSTANTIATE(PathEntry);
INSTANTIATE(ResourceFormat);
INSTANTIATE(TextureFilter);
INSTANTIATE(BufferDescription);
INSTANTIATE(TextureDescription);
INSTANTIATE(APIEvent);
INSTANTIATE(DebugMessage);
INSTANTIATE(ConstantBindStats);
INSTANTIATE(SamplerBindStats);
INSTANTIATE(ResourceBindStats);
INSTANTIATE(ResourceUpdateStats);
INSTANTIATE(DrawcallStats);
INSTANTIATE(DispatchStats);
INSTANTIATE(IndexBindStats);
INSTANTIATE(VertexBindStats);
INSTANTIATE(LayoutBindStats);
INSTANTIATE(ShaderChangeStats);
INSTANTIATE(BlendStats);
INSTANTIATE(DepthStencilStats);
INSTANTIATE(RasterizationStats);
INSTANTIATE(OutputTargetStats);
INSTANTIATE(FrameStatistics);
INSTANTIATE(FrameDescription);
INSTANTIATE(EventUsage);
INSTANTIATE(DrawcallDescription);
INSTANTIATE(APIProperties);
INSTANTIATE(CounterDescription);
INSTANTIATE(CounterResult);
INSTANTIATE(ModificationValue);
INSTANTIATE(PixelModification);
INSTANTIATE(ShaderVariable);
INSTANTIATE(ShaderDebugState);
INSTANTIATE(ShaderDebugTrace);
INSTANTIATE(SigParameter);
INSTANTIATE(ShaderConstant);
INSTANTIATE(ShaderVariableDescriptor);
INSTANTIATE(ShaderVariableType);
INSTANTIATE(ShaderRegister);
INSTANTIATE(ShaderConstant);
INSTANTIATE(ConstantBlock);
INSTANTIATE(ShaderResource);
INSTANTIATE(ShaderDebugChunk);
INSTANTIATE(ShaderReflection);
INSTANTIATE(BindpointMap);
INSTANTIATE(ShaderBindpointMapping);
};
+1 -1
View File
@@ -32,7 +32,7 @@ using std::string;
using std::wstring;
bool usingKillSignal = false;
volatile uint32_t killSignal = false;
volatile bool killSignal = false;
rdctype::array<rdctype::str> convertArgs(const std::vector<std::string> &args)
{
+1 -1
View File
@@ -42,7 +42,7 @@ struct Command
};
extern bool usingKillSignal;
extern volatile uint32_t killSignal;
extern volatile bool killSignal;
void add_version_line(const std::string &str);