Initial commit of existing code.

* All renderdoc code up to this point was written by me, history is available by request
This commit is contained in:
baldurk
2014-05-02 08:14:55 +01:00
parent 04b1549c0f
commit c38affcded
695 changed files with 230316 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<topic id="7A620DF5-332E-44CA-8FD5-9E47A9C4CC3E" revisionNumber="1">
<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<introduction>
<autoOutline />
<para>The pipeline state viewer allows you to view more details of given resources
that are bound to the pipeline. The go arrow
<mediaLinkInline><image xlink:href="GoArrow"/></mediaLinkInline> is a sign that more
details for this resource are available.</para>
</introduction>
<section address="shaders">
<title>Viewing Shaders</title>
<content>
<para>Each shader stage that is active on the pipeline can be expanded to see both the
high-level shader language and the low-level disassembly. At the top of the pipeline
stage there is a box showing the currently bound shader - by its entry point if known.</para>
<mediaLink>
<caption placement="after" lead="Bound Shader">Box showing the currently used shader.</caption>
<image xlink:href="CurrentShader"/>
</mediaLink>
<para>Much of the information that is available from the shader is only available
when debugging information is made available.
<link xlink:href="8a7568ca-6b2c-4873-b8eb-d1ad2aff9629">More details are available</link>
</para>
<para>Each file passed to the compiler for this the shader is shown with simple syntax
highlighting, as well as the disassembly generated from the bytecode itself.</para>
<para>If available, the reflection data from the shader debugging information will be used
in other areas of the pipeline state viewer. It will be used for naming texture slots,
showing which resources that are bound are to be used in the shader, as well as showing
the names of any constants that are used in the shader.</para>
<para>When this shader reflection information is available it will be integrated into
the disassembly to make it easier to read.</para>
<para>Note from here you can also <link xlink:href="6d0b6532-6da2-485d-85cd-e83e8c9e0183">live-edit a shader</link> by clicking the edit button
<mediaLinkInline><image xlink:href="page_white_edit"/></mediaLinkInline>. If debug info
isn't available to provide HLSL, a basic stub function with the input &amp; output
signatures but no body will be created.</para>
</content>
</section>
<section address="textures">
<title>Viewing Textures</title>
<content>
<para>The <link xlink:href="2c540574-0b81-4a40-8119-ba0283fddf41" /> is the primary way of
viewing details of textures, so this section concerns itself with how textures are displayed
in other parts of the UI, and how to open a texture in the texture viewer. More details can
be found in <link xlink:href="32C47E20-0FA2-4F52-B33A-4440EBCCBCE4" />.</para>
<para>A texture that is bound to the pipeline as a resource or output the relevant section
of the pipeline will display their dimensions and format. In each place the go arrow
<mediaLinkInline><image xlink:href="GoArrow"/></mediaLinkInline> will indicate that a new
locked tab can be opened up in the texture viewer.</para>
<para>In addition to opening a new view of the texture, the timeline bar will also show
the usage of this texture - a green triangle will indicate a place where the texture is
read from, and a purple triangle indicates a writing operation. These triangles don't necessarily
correspond 1:1 with the event - more details are available on the
<link xlink:href="745E3EB5-EB29-4010-BBAB-B11282F4380C" /> page.</para>
</content>
</section>
<section address="buffers">
<title>Viewing Buffers</title>
<content>
<para>More details on this section are available on the <link xlink:href="C48DED3E-3303-4A82-8F58-3D39766C48E7" />
page.</para>
<para>When opened either from the input layouts or from the 'Window' menu, the buffer viewer
opens up in the mesh viewer mode. This is a specialisation of the buffer viewer which will
show a 3D display of the mesh represented, as well as viewing the mesh buffers at different
points in the pipeline.</para>
<para>In the general case, buffers bound to the pipeline can be opened as a raw buffer viewer.</para>
<para>This will open up a view of the buffer similar to the mesh viewer, but with a completely
customisable buffer layout.</para>
<para>By default if the buffer is bound to the pipeline with a pre-existing structure that can
be reflected from the shader then this will be the default, otherwise the default layout will be
4 32bit unsigned integers per element.</para>
<para>This layout can be customised by entering a format in a simple style that mimics defining
a structure that outlines a single element in the buffer.</para>
<mediaLink>
<caption placement="after" lead="Custom Buffer Layout">Customising the layout of the buffer by defining a structure.</caption>
<image xlink:href="RawBuffer"/>
</mediaLink>
</content>
</section>
<section address="constants">
<title>Viewing Constant Buffers</title>
<content>
<para>Constant buffers can be viewed by clicking on their Go Arrow
<mediaLinkInline><image xlink:href="GoArrow"/></mediaLinkInline>. This will open up a new docked section
to the right of the pipeline state viewer that tracks that constant buffer slot.</para>
<para>Whenever this shader slot has a constant buffer in it,
both the constant names and types as well as values will be displayed.</para>
<mediaLink>
<caption placement="after" lead="Constant Buffer">An updating preview of the contents of this constant buffer.</caption>
<image xlink:href="CBuffer"/>
</mediaLink>
</content>
</section>
</developerConceptualDocument>
</topic>