diff --git a/qrenderdoc/Code/FormatElement.cpp b/qrenderdoc/Code/FormatElement.cpp index 6fcf568e6..1f957c5db 100644 --- a/qrenderdoc/Code/FormatElement.cpp +++ b/qrenderdoc/Code/FormatElement.cpp @@ -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; diff --git a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp index fd47a19e5..01f81e1ff 100644 --- a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp @@ -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); } } } diff --git a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp index 7b7141e2e..69235eea3 100644 --- a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp @@ -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; diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index 2bdcd213c..2429dfcc1 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -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; diff --git a/renderdoc/api/replay/control_types.h b/renderdoc/api/replay/control_types.h index 00cd68bb0..04186f100 100644 --- a/renderdoc/api/replay/control_types.h +++ b/renderdoc/api/replay/control_types.h @@ -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 ` 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 `. )"); - 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); diff --git a/renderdoc/api/replay/d3d11_pipestate.h b/renderdoc/api/replay/d3d11_pipestate.h index 1193c0577..d30f9de1a 100644 --- a/renderdoc/api/replay/d3d11_pipestate.h +++ b/renderdoc/api/replay/d3d11_pipestate.h @@ -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 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."); diff --git a/renderdoc/api/replay/d3d12_pipestate.h b/renderdoc/api/replay/d3d12_pipestate.h index 78d5867a7..729325917 100644 --- a/renderdoc/api/replay/d3d12_pipestate.h +++ b/renderdoc/api/replay/d3d12_pipestate.h @@ -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 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; diff --git a/renderdoc/api/replay/data_types.h b/renderdoc/api/replay/data_types.h index 47d872592..302292b1d 100644 --- a/renderdoc/api/replay/data_types.h +++ b/renderdoc/api/replay/data_types.h @@ -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 ` 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 `."); 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. diff --git a/renderdoc/api/replay/gl_pipestate.h b/renderdoc/api/replay/gl_pipestate.h index 31d1022d1..dca7b283d 100644 --- a/renderdoc/api/replay/gl_pipestate.h +++ b/renderdoc/api/replay/gl_pipestate.h @@ -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."); diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index 0cea8812d..4bac7bd0e 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -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 &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 &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` 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 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 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); diff --git a/renderdoc/api/replay/vk_pipestate.h b/renderdoc/api/replay/vk_pipestate.h index 917e7d8c5..eca60f35f 100644 --- a/renderdoc/api/replay/vk_pipestate.h +++ b/renderdoc/api/replay/vk_pipestate.h @@ -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; diff --git a/renderdoc/common/dds_readwrite.cpp b/renderdoc/common/dds_readwrite.cpp index bd4d3f659..adafb9dbb 100644 --- a/renderdoc/common/dds_readwrite.cpp +++ b/renderdoc/common/dds_readwrite.cpp @@ -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; diff --git a/renderdoc/core/core.h b/renderdoc/core/core.h index 919e2ce9c..9d1e2ca9a 100644 --- a/renderdoc/core/core.h +++ b/renderdoc/core/core.h @@ -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; } diff --git a/renderdoc/core/remote_server.cpp b/renderdoc/core/remote_server.cpp index 97b8968bc..3bd4445c2 100644 --- a/renderdoc/core/remote_server.cpp +++ b/renderdoc/core/remote_server.cpp @@ -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); diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index 092039df1..14a60b2f5 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -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 diff --git a/renderdoc/core/target_control.cpp b/renderdoc/core/target_control.cpp index 444cbe731..30b264017 100644 --- a/renderdoc/core/target_control.cpp +++ b/renderdoc/core/target_control.cpp @@ -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') diff --git a/renderdoc/driver/d3d11/d3d11_analyse.cpp b/renderdoc/driver/d3d11/d3d11_analyse.cpp index 9657806d2..d3be9f5d6 100644 --- a/renderdoc/driver/d3d11/d3d11_analyse.cpp +++ b/renderdoc/driver/d3d11/d3d11_analyse.cpp @@ -7072,7 +7072,7 @@ vector D3D11DebugManager::PixelHistory(vector 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); diff --git a/renderdoc/driver/d3d11/d3d11_common.cpp b/renderdoc/driver/d3d11/d3d11_common.cpp index 246c6a87f..212a1f3d7 100644 --- a/renderdoc/driver/d3d11/d3d11_common.cpp +++ b/renderdoc/driver/d3d11/d3d11_common.cpp @@ -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; diff --git a/renderdoc/driver/d3d12/d3d12_common.cpp b/renderdoc/driver/d3d12/d3d12_common.cpp index 05f894791..415577403 100644 --- a/renderdoc/driver/d3d12/d3d12_common.cpp +++ b/renderdoc/driver/d3d12/d3d12_common.cpp @@ -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; diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 5d1d721c4..161801852 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -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()); diff --git a/renderdoc/driver/gl/gl_shader_refl.cpp b/renderdoc/driver/gl/gl_shader_refl.cpp index 0e0d15c32..aea225307 100644 --- a/renderdoc/driver/gl/gl_shader_refl.cpp +++ b/renderdoc/driver/gl/gl_shader_refl.cpp @@ -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 &outvars, const vectortype == 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(); diff --git a/renderdoc/replay/entry_points.cpp b/renderdoc/replay/entry_points.cpp index eb211a0e0..a24b5acbf 100644 --- a/renderdoc/replay/entry_points.cpp +++ b/renderdoc/replay/entry_points.cpp @@ -229,7 +229,7 @@ RENDERDOC_InitGlobalEnv(GlobalEnvironment env, const rdctype::array &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 &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 *buf) +extern "C" RENDERDOC_API bool RENDERDOC_CC RENDERDOC_GetThumbnail(const char *filename, + FileType type, uint32_t maxsize, + rdctype::array *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"; diff --git a/renderdoc/replay/replay_controller.cpp b/renderdoc/replay/replay_controller.cpp index df6a7c237..729696ea3 100644 --- a/renderdoc/replay/replay_controller.cpp +++ b/renderdoc/replay/replay_controller.cpp @@ -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); +}; diff --git a/renderdoccmd/renderdoccmd.cpp b/renderdoccmd/renderdoccmd.cpp index d3727bb8e..f330cfef0 100644 --- a/renderdoccmd/renderdoccmd.cpp +++ b/renderdoccmd/renderdoccmd.cpp @@ -32,7 +32,7 @@ using std::string; using std::wstring; bool usingKillSignal = false; -volatile uint32_t killSignal = false; +volatile bool killSignal = false; rdctype::array convertArgs(const std::vector &args) { diff --git a/renderdoccmd/renderdoccmd.h b/renderdoccmd/renderdoccmd.h index 59acb01f0..761a89eef 100644 --- a/renderdoccmd/renderdoccmd.h +++ b/renderdoccmd/renderdoccmd.h @@ -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);