mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-24 07:26:34 +00:00
Add type hints to python for class constructors
* We enforce default and copy constructors where possible, this isn't very pythonic but we can't use copy.deepcopy on our types. * The structs that have specialised constructors e.g. FloatVector or Subresource also have those documented though we have no way to enforce it.
This commit is contained in:
+63
-4
@@ -390,15 +390,32 @@ def gen_class(file: Stream, class_obj: Type):
|
||||
|
||||
bases_string = ", ".join([b.__name__ for b in bases])
|
||||
|
||||
file.println(f"class {class_obj.__name__}({bases_string}):")
|
||||
file.indent()
|
||||
|
||||
if class_obj.__doc__ is None:
|
||||
raise ValueError("Unexpected None docstring")
|
||||
|
||||
lines = class_obj.__doc__.strip().splitlines()
|
||||
|
||||
constructors: List[List[Tuple[str, str]]] = []
|
||||
while lines[0].strip().startswith(class_obj.__name__ + "("):
|
||||
args = lines[0].strip()
|
||||
start = args.find("(")
|
||||
args = args[start + 1 : -1]
|
||||
annot_split = lambda arg: (arg.split(":")[0].strip(), arg.split(":")[1].strip())
|
||||
constructors.append([annot_split(arg) for arg in args.split(",") if arg != ""])
|
||||
del lines[0]
|
||||
|
||||
if len(constructors) > 0:
|
||||
file.println("from typing import overload")
|
||||
file.println("")
|
||||
|
||||
class_doc = ("\n".join(lines)).strip()
|
||||
|
||||
file.println(f"class {class_obj.__name__}({bases_string}):")
|
||||
file.indent()
|
||||
|
||||
file.println("# Original docstring")
|
||||
file.println('"""')
|
||||
file.printlines(class_obj.__doc__)
|
||||
file.printlines(class_doc)
|
||||
file.println('"""')
|
||||
file.println("")
|
||||
file.println("")
|
||||
@@ -453,6 +470,47 @@ def gen_class(file: Stream, class_obj: Type):
|
||||
file.println('"""')
|
||||
file.println("")
|
||||
else:
|
||||
for ctor in constructors:
|
||||
ctor_def = f"def __init__(self, "
|
||||
for param, annot in ctor:
|
||||
if annot != class_obj.__name__:
|
||||
# a default value comes in with the annotation,
|
||||
# we don't split it out otherwise so strip it here
|
||||
type_str = annot.split("=")[0].strip()
|
||||
add_dependencies(class_obj, deps, type_str)
|
||||
ctor_def += f"{param}: {annot}, "
|
||||
else:
|
||||
# escape any self-references in ''s
|
||||
ctor_def += f"{param}: '{annot}', "
|
||||
|
||||
ctor_def = ctor_def[:-2] + "):"
|
||||
|
||||
file.println("@overload")
|
||||
file.println(ctor_def)
|
||||
file.indent()
|
||||
file.println('"""')
|
||||
# copy constructors have only one parameter of our own type
|
||||
if len(ctor) == 1 and ctor[0][1] == class_obj.__name__:
|
||||
file.println(
|
||||
f"Construct a new {class_obj.__name__} with a deep copy of the input."
|
||||
)
|
||||
# default constructors have no parameters
|
||||
elif ctor == []:
|
||||
file.println(
|
||||
f"Construct a new default-initialised {class_obj.__name__}."
|
||||
)
|
||||
# more complex value constructor with parameters
|
||||
else:
|
||||
file.println(
|
||||
f"Construct a new {class_obj.__name__} using provided values."
|
||||
)
|
||||
file.println('"""')
|
||||
file.println("pass")
|
||||
file.dedent()
|
||||
file.println("")
|
||||
if len(constructors) > 0:
|
||||
file.println("")
|
||||
|
||||
for item_name in class_obj.__dict__.keys():
|
||||
if item_name.startswith("__"):
|
||||
continue
|
||||
@@ -506,6 +564,7 @@ def gen_class(file: Stream, class_obj: Type):
|
||||
file.println('"""')
|
||||
file.printlines(doc)
|
||||
file.println('"""')
|
||||
file.println("")
|
||||
else:
|
||||
raise ValueError(
|
||||
f"Unknown type of member {item_name} in {class_obj.__name__}"
|
||||
|
||||
+40
-11
@@ -113,14 +113,14 @@ def make_c_typeval(ret: str, pattern: bool, typelist: List[str]):
|
||||
elif ret == 'Tuple[str,str]': # special case
|
||||
ret = 'rdcstrpair'
|
||||
elif ret[0:9] == 'Callable[':
|
||||
ret = '(std::function<void\(\)>|[A-Za-z_]+Callback)' if pattern else 'std::function/NamedCallback'
|
||||
ret = r'(std::function<void\(\)>|[A-Za-z_]+Callback)' if pattern else 'std::function/NamedCallback'
|
||||
elif ret[0:5] == 'List[':
|
||||
inner = make_c_typeval(ret[5:-1], pattern, typelist)
|
||||
ret = '(const )?rdcarray<{}> ?[&*]?'.format(inner) if pattern else 'rdcarray<{}>'.format(inner)
|
||||
elif ret[0:6] == 'Tuple[':
|
||||
inners = [make_c_typeval(i.strip(), pattern, typelist) for i in ret[6:-1].split(',')]
|
||||
if pattern:
|
||||
inner = ',\s*'.join(inners)
|
||||
inner = r',\s*'.join(inners)
|
||||
else:
|
||||
inner = ', '.join(inners)
|
||||
|
||||
@@ -166,7 +166,7 @@ def check_function(parent_name, objname, obj, source, global_func, typelist):
|
||||
default_val = ''
|
||||
for p in params:
|
||||
if len(funcargs[0]) > 0:
|
||||
funcargs[0] += ',\s*'
|
||||
funcargs[0] += r',\s*'
|
||||
funcargs[1] += ', '
|
||||
|
||||
default_val = p[2].lstrip()
|
||||
@@ -177,7 +177,7 @@ def check_function(parent_name, objname, obj, source, global_func, typelist):
|
||||
funcargs[1] += make_c_typeval(p[0], False, typelist) + ' ' + p[1]
|
||||
|
||||
if default_val != "":
|
||||
funcargs[0] += f"\s*=\s*{default_val}"
|
||||
funcargs[0] += f"\\s*=\\s*{default_val}"
|
||||
funcargs[1] += f" = {default_val}"
|
||||
|
||||
result = RTYPE_PATTERN.search(docstring)
|
||||
@@ -190,7 +190,7 @@ def check_function(parent_name, objname, obj, source, global_func, typelist):
|
||||
if global_func:
|
||||
global_pattern = '(RENDERDOC_CC\s*RENDERDOC_)?'
|
||||
|
||||
pattern = '(?s){} ?{}{}\(\s*{}\)'.format(make_c_typeval(ret, True, typelist), global_pattern, objname, funcargs[0])
|
||||
pattern = r'(?s){} ?{}{}\(\s*{}\)'.format(make_c_typeval(ret, True, typelist), global_pattern, objname, funcargs[0])
|
||||
clean = '{} {}({})'.format(make_c_typeval(ret, False, typelist), objname, funcargs[1])
|
||||
|
||||
match = re.search(pattern, source, re.MULTILINE | re.DOTALL)
|
||||
@@ -198,7 +198,7 @@ def check_function(parent_name, objname, obj, source, global_func, typelist):
|
||||
pattern2 = None
|
||||
# global functions returning strings can't return an rdcstr, they have to return const char *
|
||||
if match is None and ret == 'str':
|
||||
pattern2 = '(?s)const char \*{}{}\(\s*{}\)'.format(global_pattern, objname, funcargs[0])
|
||||
pattern2 = r'(?s)const char \*{}{}\(\s*{}\)'.format(global_pattern, objname, funcargs[0])
|
||||
match = re.search(pattern2, source, re.MULTILINE | re.DOTALL)
|
||||
|
||||
if match is None:
|
||||
@@ -291,8 +291,8 @@ for mod_name in check_mods:
|
||||
print("Checking class {}".format(qualname))
|
||||
|
||||
# Grab the source to just this class to search in
|
||||
source = re.search('(struct|class|union) I?' + objname + '(\n|\s*:[^A-Za-z][\s:a-zA-Z]*\n)\{.*?^}', headers, re.MULTILINE | re.DOTALL)
|
||||
|
||||
source = re.search('(struct|class|union) I?' + objname + r'(\n|\s*:[^A-Za-z][\s:a-zA-Z]*\n)\{.*?^}', headers, re.MULTILINE | re.DOTALL)
|
||||
|
||||
namespace = None
|
||||
|
||||
if source is None and objname[0:2] in ['VK', 'GL']:
|
||||
@@ -310,13 +310,19 @@ for mod_name in check_mods:
|
||||
namespace = namespace.group(0)
|
||||
|
||||
if source is None and namespace is not None:
|
||||
source = re.search('(struct|class|union) I?' + objname + '[^{]*\{.*?^}', namespace, re.MULTILINE | re.DOTALL)
|
||||
|
||||
source = re.search('(struct|class|union) I?' + objname + r'[^{]*\{.*?^}', namespace, re.MULTILINE | re.DOTALL)
|
||||
|
||||
source = source.group(0)
|
||||
|
||||
instance = None
|
||||
copyable = False
|
||||
try:
|
||||
instance = obj()
|
||||
try:
|
||||
dupe_instance = obj(instance)
|
||||
copyable = True
|
||||
except NotImplementedError:
|
||||
pass
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
@@ -328,6 +334,29 @@ for mod_name in check_mods:
|
||||
|
||||
instance_warned = False
|
||||
|
||||
# for types that we can create, we expect by default to
|
||||
# see a default constructor and a copy constructor,
|
||||
# unless we see a note that the type is not copyable
|
||||
if instance is not None:
|
||||
lines = docstring.strip().splitlines()
|
||||
if lines[0].strip() != f"{obj.__name__}()":
|
||||
count += 1
|
||||
print(
|
||||
f"Error {count:3}: {obj.__name__} can be created, "
|
||||
"expect default constructor as first real line of its docstring."
|
||||
)
|
||||
elif (
|
||||
copyable
|
||||
and lines[1].strip() != f"{obj.__name__}(other: {obj.__name__})"
|
||||
):
|
||||
count += 1
|
||||
print(
|
||||
f"Error {count:3}: {obj.__name__} can be copied, "
|
||||
"expect copy constructor as second entry in its docstring:\n"
|
||||
f"Actual > {lines[1]}\n"
|
||||
f"Expected > {obj.__name__}(other: {obj.__name__})"
|
||||
)
|
||||
|
||||
for member_name in obj.__dict__.keys():
|
||||
if '__' in member_name or member_name in ['this', 'thisown']:
|
||||
continue
|
||||
@@ -407,7 +436,7 @@ for mod_name in check_mods:
|
||||
count += 1
|
||||
print("Error {:3}: {}.{} is missing :type: declaration, should be {}".format(count, qualname, member_name, type_name))
|
||||
else:
|
||||
type_decl = re.sub('Tuple\[.*\]', 'tuple', type_decl)
|
||||
type_decl = re.sub(r'Tuple\[.*\]', 'tuple', type_decl)
|
||||
if type_decl != type_name:
|
||||
count += 1
|
||||
print("Error {:3}: {}.{} has wrong :type: declaration {}, should be {}".format(count, qualname, member_name, type_decl, type_name))
|
||||
|
||||
@@ -279,7 +279,12 @@ BITMASK_OPERATORS(DialogButton);
|
||||
DISABLE_PYTHON_FLAG_ENUMS;
|
||||
#endif
|
||||
|
||||
DOCUMENT("The metadata for an extension.");
|
||||
DOCUMENT(R"(
|
||||
ExtensionMetadata()
|
||||
ExtensionMetadata(other: ExtensionMetadata)
|
||||
|
||||
The metadata for an extension.
|
||||
)");
|
||||
struct ExtensionMetadata
|
||||
{
|
||||
DOCUMENT("");
|
||||
|
||||
@@ -30,7 +30,11 @@
|
||||
|
||||
class QMutex;
|
||||
|
||||
DOCUMENT(R"(Contains the output from invoking a :class:`ShaderProcessingTool`, including both the
|
||||
DOCUMENT(R"(
|
||||
ShaderToolOutput()
|
||||
ShaderToolOutput(other: ShaderToolOutput)
|
||||
|
||||
Contains the output from invoking a :class:`ShaderProcessingTool`, including both the
|
||||
actual output data desired as well as any stdout/stderr messages.
|
||||
)");
|
||||
struct ShaderToolOutput
|
||||
@@ -48,7 +52,11 @@ struct ShaderToolOutput
|
||||
bytebuf result;
|
||||
};
|
||||
|
||||
DOCUMENT(R"(Describes an external program that can be used to process shaders, typically either
|
||||
DOCUMENT(R"(
|
||||
ShaderProcessingTool()
|
||||
ShaderProcessingTool(other: ShaderProcessingTool)
|
||||
|
||||
Describes an external program that can be used to process shaders, typically either
|
||||
compiling from a high-level language to a binary format, or decompiling from the binary format to
|
||||
a high-level language or textual representation.
|
||||
|
||||
@@ -58,6 +66,9 @@ struct ShaderProcessingTool
|
||||
{
|
||||
DOCUMENT("");
|
||||
ShaderProcessingTool() = default;
|
||||
ShaderProcessingTool(const ShaderProcessingTool &) = default;
|
||||
ShaderProcessingTool &operator=(const ShaderProcessingTool &) = default;
|
||||
|
||||
VARIANT_CAST(ShaderProcessingTool);
|
||||
bool operator==(const ShaderProcessingTool &o) const
|
||||
{
|
||||
@@ -159,7 +170,12 @@ DECLARE_REFLECTION_STRUCT(ShaderProcessingTool);
|
||||
#define BUGREPORT_URL "https://renderdoc.org/bugreporter"
|
||||
#endif
|
||||
|
||||
DOCUMENT("Describes a submitted bug report.");
|
||||
DOCUMENT(R"(
|
||||
BugReport()
|
||||
BugReport(other: BugReport)
|
||||
|
||||
Describes a submitted bug report.
|
||||
)");
|
||||
struct BugReport
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -879,7 +895,10 @@ struct CustomPersistentStorage
|
||||
};
|
||||
#endif
|
||||
|
||||
DOCUMENT(R"(A persistant config file that is automatically loaded and saved, which contains any
|
||||
DOCUMENT(R"(
|
||||
PersistantConfig()
|
||||
|
||||
A persistant config file that is automatically loaded and saved, which contains any
|
||||
settings and information that needs to be preserved from one run to the next.
|
||||
|
||||
The config is retrieved by calling :meth:`CaptureContext.Config`.
|
||||
|
||||
@@ -95,10 +95,18 @@ struct ICaptureContext;
|
||||
#include "PersistantConfig.h"
|
||||
#include "RemoteHost.h"
|
||||
|
||||
DOCUMENT("Contains all of the settings that control how to capture an executable.");
|
||||
DOCUMENT(R"(
|
||||
CaptureSettings()
|
||||
CaptureSettings(other: CaptureSettings)
|
||||
|
||||
Contains all of the settings that control how to capture an executable.
|
||||
)");
|
||||
struct CaptureSettings
|
||||
{
|
||||
DOCUMENT("");
|
||||
CaptureSettings();
|
||||
CaptureSettings(const CaptureSettings &) = default;
|
||||
CaptureSettings &operator=(const CaptureSettings &) = default;
|
||||
|
||||
VARIANT_CAST(CaptureSettings);
|
||||
|
||||
@@ -151,7 +159,11 @@ struct CaptureSettings
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CaptureSettings);
|
||||
|
||||
DOCUMENT(R"(The details of a capture that has been made on a connection but may not
|
||||
DOCUMENT(R"(
|
||||
ConnectedTempCapture()
|
||||
ConnectedTempCapture(other: ConnectedTempCapture)
|
||||
|
||||
The details of a capture that has been made on a connection but may not
|
||||
have been saved to disk or local.
|
||||
)");
|
||||
struct ConnectedTempCapture
|
||||
@@ -1804,7 +1816,11 @@ protected:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(IPixelHistoryView);
|
||||
|
||||
DOCUMENT("An interface implemented by any object wanting to be notified of capture events.");
|
||||
DOCUMENT(R"(
|
||||
CaptureViewer()
|
||||
|
||||
An interface implemented by any object wanting to be notified of capture events.
|
||||
)");
|
||||
struct ICaptureViewer
|
||||
{
|
||||
DOCUMENT("Called whenever a capture is opened.");
|
||||
@@ -2193,7 +2209,13 @@ enum class CaptureModifications : uint32_t
|
||||
|
||||
BITMASK_OPERATORS(CaptureModifications);
|
||||
|
||||
DOCUMENT("A description of a bookmark on an event");
|
||||
DOCUMENT(R"(
|
||||
EventBookmark()
|
||||
EventBookmark(other: EventBookmark)
|
||||
EventBookmark(eventId: int)
|
||||
|
||||
A description of a bookmark on an event
|
||||
)");
|
||||
struct EventBookmark
|
||||
{
|
||||
DOCUMENT(R"(The :data:`eventId <renderdoc.APIEvent.eventId>` at which this bookmark is placed.
|
||||
@@ -2210,6 +2232,7 @@ struct EventBookmark
|
||||
|
||||
DOCUMENT("");
|
||||
EventBookmark() = default;
|
||||
EventBookmark(const EventBookmark &) = default;
|
||||
EventBookmark(uint32_t e) : eventId(e) {}
|
||||
bool operator==(const EventBookmark &o) const { return eventId == o.eventId; }
|
||||
bool operator!=(const EventBookmark &o) const { return eventId != o.eventId; }
|
||||
|
||||
@@ -38,7 +38,13 @@ struct RemoteHostData;
|
||||
// are unexpectedly removed (such as disconnecting an auto-populated device) these structs are
|
||||
// copied around and they have a shared locked data pointer. All accessors then lock and look up the
|
||||
// data there to fetch or modify
|
||||
DOCUMENT("A handle for interacting with a remote server on a given host.");
|
||||
DOCUMENT(R"(
|
||||
RemoteHost()
|
||||
RemoteHost(other: RemoteHost)
|
||||
RemoteHost(hostname: str)
|
||||
|
||||
A handle for interacting with a remote server on a given host.
|
||||
)");
|
||||
class RemoteHost
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -87,5 +87,10 @@ fail:
|
||||
template <>
|
||||
inline SDFile *MakeFromArgsTuple<SDFile>(PyObject *args)
|
||||
{
|
||||
if(!SWIG_Python_UnpackTuple(args, "new_SDFile", 0, 0, 0))
|
||||
SWIG_fail;
|
||||
|
||||
return new SDFile();
|
||||
fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -114,6 +114,9 @@ TEMPLATE_FIXEDARRAY_DECLARE(rdcfixedarray);
|
||||
static int capviewer_init(PyObject *self, PyObject *args) {
|
||||
PyObject *resultobj = 0;
|
||||
ICaptureViewer *result = 0;
|
||||
|
||||
if(!SWIG_Python_UnpackTuple(args, "new_CaptureViewer", 0, 0, 0))
|
||||
return -1;
|
||||
|
||||
result = new PythonCaptureViewer(self);
|
||||
resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ICaptureViewer, SWIG_BUILTIN_INIT | 0);
|
||||
|
||||
@@ -33,7 +33,11 @@ typedef uint8_t byte;
|
||||
|
||||
// see renderdoc_app.h RENDERDOC_CaptureOption - make sure any changes here are reflected there, to
|
||||
// the options or to the documentation
|
||||
DOCUMENT(R"(Sets up configuration and options for optional features either at capture time or at API
|
||||
DOCUMENT(R"(
|
||||
CaptureOptions()
|
||||
CaptureOptions(other: CaptureOptions)
|
||||
|
||||
Sets up configuration and options for optional features either at capture time or at API
|
||||
initialisation time that the user can enable or disable at will.
|
||||
)");
|
||||
struct CaptureOptions
|
||||
|
||||
@@ -30,7 +30,13 @@
|
||||
#include "shader_types.h"
|
||||
#include "stringise.h"
|
||||
|
||||
DOCUMENT("Information about a viewport.");
|
||||
DOCUMENT(R"(
|
||||
Viewport()
|
||||
Viewport(other: Viewport)
|
||||
Viewport(x: float, y: float, width: float, height: float, minDepth: float, maxDepth: float, enabled: bool)
|
||||
|
||||
Information about a viewport.
|
||||
)");
|
||||
struct Viewport
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -103,7 +109,13 @@ struct Viewport
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Viewport);
|
||||
|
||||
DOCUMENT("Describes a single scissor region.");
|
||||
DOCUMENT(R"(
|
||||
Scissor()
|
||||
Scissor(other: Scissor)
|
||||
Scissor(x: int, y: int, width: int, height: int, enabled: bool)
|
||||
|
||||
Describes a single scissor region.
|
||||
)");
|
||||
struct Scissor
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -161,7 +173,12 @@ struct Scissor
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Scissor);
|
||||
|
||||
DOCUMENT("Describes the details of a blend operation.");
|
||||
DOCUMENT(R"(
|
||||
BlendEquation()
|
||||
BlendEquation(other: BlendEquation)
|
||||
|
||||
Describes the details of a blend operation.
|
||||
)");
|
||||
struct BlendEquation
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -202,7 +219,12 @@ struct BlendEquation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(BlendEquation);
|
||||
|
||||
DOCUMENT("Describes the blend configuration for a given output target.");
|
||||
DOCUMENT(R"(
|
||||
ColorBlend()
|
||||
ColorBlend(other: ColorBlend)
|
||||
|
||||
Describes the blend configuration for a given output target.
|
||||
)");
|
||||
struct ColorBlend
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -270,7 +292,12 @@ struct ColorBlend
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ColorBlend);
|
||||
|
||||
DOCUMENT("Describes a common subset of rasterizing state.");
|
||||
DOCUMENT(R"(
|
||||
RasterState()
|
||||
RasterState(other: RasterState)
|
||||
|
||||
Describes a common subset of rasterizing state.
|
||||
)");
|
||||
struct RasterState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -298,7 +325,12 @@ struct RasterState
|
||||
CullMode cullMode = CullMode::NoCull;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a common subset of depth testing state.");
|
||||
DOCUMENT(R"(
|
||||
DepthTestState()
|
||||
DepthTestState(other: DepthTestState)
|
||||
|
||||
Describes a common subset of depth testing state.
|
||||
)");
|
||||
struct DepthTestState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -338,7 +370,12 @@ struct DepthTestState
|
||||
double maxDepthBounds = 0.0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the details of a stencil operation.");
|
||||
DOCUMENT(R"(
|
||||
StencilFace()
|
||||
StencilFace(other: StencilFace)
|
||||
|
||||
Describes the details of a stencil operation.
|
||||
)");
|
||||
struct StencilFace
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -385,7 +422,12 @@ struct StencilFace
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(StencilFace);
|
||||
|
||||
DOCUMENT("Information about a single vertex or index buffer binding.");
|
||||
DOCUMENT(R"(
|
||||
BoundVBuffer()
|
||||
BoundVBuffer(other: BoundVBuffer)
|
||||
|
||||
Information about a single vertex or index buffer binding.
|
||||
)");
|
||||
struct BoundVBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -434,7 +476,11 @@ struct BoundVBuffer
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(BoundVBuffer);
|
||||
|
||||
DOCUMENT(R"(The contents of a descriptor. Not all contents will be valid depending on API and
|
||||
DOCUMENT(R"(
|
||||
Descriptor()
|
||||
Descriptor(other: Descriptor)
|
||||
|
||||
The contents of a descriptor. Not all contents will be valid depending on API and
|
||||
descriptor type, others will be set to sensible defaults.
|
||||
|
||||
For sampler descriptors, the sampler-specific data can be queried separately and returned as
|
||||
@@ -621,7 +667,11 @@ descriptor
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Descriptor);
|
||||
|
||||
DOCUMENT(R"(The contents of a sampler descriptor. Not all contents will be valid depending on API
|
||||
DOCUMENT(R"(
|
||||
SamplerDescriptor()
|
||||
SamplerDescriptor(other: SamplerDescriptor)
|
||||
|
||||
The contents of a sampler descriptor. Not all contents will be valid depending on API
|
||||
and capabilities, others will be set to sensible defaults.
|
||||
|
||||
For normal descriptors, the resource data should be queried and returned in :class:`Descriptor`.
|
||||
@@ -838,7 +888,11 @@ this sampler.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(SamplerDescriptor);
|
||||
|
||||
DOCUMENT(R"(The details of a single accessed descriptor as fetched by a shader and which descriptor
|
||||
DOCUMENT(R"(
|
||||
DescriptorAccess()
|
||||
DescriptorAccess(other: DescriptorAccess)
|
||||
|
||||
The details of a single accessed descriptor as fetched by a shader and which descriptor
|
||||
in the descriptor store was fetched.
|
||||
|
||||
This may be a somewhat conservative access, reported as possible but not actually executed on the
|
||||
@@ -960,7 +1014,11 @@ inline ShaderDirectAccess::ShaderDirectAccess(const DescriptorAccess &access)
|
||||
{
|
||||
}
|
||||
|
||||
DOCUMENT(R"(In many cases there may be a logical location or fixed binding point for a particular
|
||||
DOCUMENT(R"(
|
||||
DescriptorLogicalLocation()
|
||||
DescriptorLogicalLocation(other: DescriptorLogicalLocation)
|
||||
|
||||
In many cases there may be a logical location or fixed binding point for a particular
|
||||
descriptor which is not conveyed with a simple byte offset into a descriptor store.
|
||||
This is particularly true for any descriptor stores that are not equivalent to a buffer of bytes
|
||||
but actually have an API structure - for example D3D11 and GL with fixed binding points, or Vulkan
|
||||
@@ -1065,7 +1123,11 @@ first, and fall back to this name if no reflection information is available in t
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DescriptorLogicalLocation);
|
||||
|
||||
DOCUMENT(R"(Combined information about a single descriptor that has been used, both the information
|
||||
DOCUMENT(R"(
|
||||
UsedDescriptor()
|
||||
UsedDescriptor(other: UsedDescriptor)
|
||||
|
||||
Combined information about a single descriptor that has been used, both the information
|
||||
about its access and its contents.
|
||||
|
||||
This is a helper struct for the common pipeline state abstraction to trade off simplicity of access
|
||||
@@ -1121,7 +1183,13 @@ For normal descriptors this is empty.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(UsedDescriptor);
|
||||
|
||||
DOCUMENT("Describes a 2-dimensional int offset");
|
||||
DOCUMENT(R"(
|
||||
Offset()
|
||||
Offset(other: Offset)
|
||||
Offset(x: int, y: int)
|
||||
|
||||
Describes a 2-dimensional int offset
|
||||
)");
|
||||
struct Offset
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1152,7 +1220,12 @@ struct Offset
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Offset);
|
||||
|
||||
DOCUMENT("Information about a vertex input attribute feeding the vertex shader.");
|
||||
DOCUMENT(R"(
|
||||
VertexInputAttribute()
|
||||
VertexInputAttribute(other: VertexInputAttribute)
|
||||
|
||||
Information about a vertex input attribute feeding the vertex shader.
|
||||
)");
|
||||
struct VertexInputAttribute
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1252,7 +1325,11 @@ be emulated.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(VertexInputAttribute);
|
||||
|
||||
DOCUMENT(R"(A task or mesh message's location.
|
||||
DOCUMENT(R"(
|
||||
ShaderMeshMessageLocation()
|
||||
ShaderMeshMessageLocation(other: ShaderMeshMessageLocation)
|
||||
|
||||
A task or mesh message's location.
|
||||
|
||||
.. data:: NotUsed
|
||||
|
||||
@@ -1314,7 +1391,12 @@ struct ShaderMeshMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderMeshMessageLocation);
|
||||
|
||||
DOCUMENT("A compute shader message's location.");
|
||||
DOCUMENT(R"(
|
||||
ShaderComputeMessageLocation()
|
||||
ShaderComputeMessageLocation(other: ShaderComputeMessageLocation)
|
||||
|
||||
A compute shader message's location.
|
||||
)");
|
||||
struct ShaderComputeMessageLocation
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1350,7 +1432,12 @@ struct ShaderComputeMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderComputeMessageLocation);
|
||||
|
||||
DOCUMENT("A vertex shader message's location.");
|
||||
DOCUMENT(R"(
|
||||
ShaderVertexMessageLocation()
|
||||
ShaderVertexMessageLocation(other: ShaderVertexMessageLocation)
|
||||
|
||||
A vertex shader message's location.
|
||||
)");
|
||||
struct ShaderVertexMessageLocation
|
||||
{
|
||||
DOCUMENT(R"(The vertex or index for this vertex.
|
||||
@@ -1374,7 +1461,11 @@ struct ShaderVertexMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderVertexMessageLocation);
|
||||
|
||||
DOCUMENT(R"(A pixel shader message's location.
|
||||
DOCUMENT(R"(
|
||||
ShaderPixelMessageLocation()
|
||||
ShaderPixelMessageLocation(other: ShaderPixelMessageLocation)
|
||||
|
||||
A pixel shader message's location.
|
||||
|
||||
.. data:: NoLocation
|
||||
|
||||
@@ -1417,7 +1508,11 @@ struct ShaderPixelMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderPixelMessageLocation);
|
||||
|
||||
DOCUMENT(R"(A geometry shader message's location.
|
||||
DOCUMENT(R"(
|
||||
ShaderGeometryMessageLocation()
|
||||
ShaderGeometryMessageLocation(other: ShaderGeometryMessageLocation)
|
||||
|
||||
A geometry shader message's location.
|
||||
|
||||
.. data:: NoLocation
|
||||
|
||||
@@ -1440,7 +1535,12 @@ struct ShaderGeometryMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderGeometryMessageLocation);
|
||||
|
||||
DOCUMENT("A shader message's location.");
|
||||
DOCUMENT(R"(
|
||||
ShaderMessageLocation()
|
||||
ShaderMessageLocation(other: ShaderMessageLocation)
|
||||
|
||||
A shader message's location.
|
||||
)");
|
||||
union ShaderMessageLocation
|
||||
{
|
||||
DOCUMENT(R"(The location if the shader is a compute shader.
|
||||
@@ -1476,7 +1576,12 @@ union ShaderMessageLocation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderMessageLocation);
|
||||
|
||||
DOCUMENT("A shader printed message.");
|
||||
DOCUMENT(R"(
|
||||
ShaderMessage()
|
||||
ShaderMessage(other: ShaderMessage)
|
||||
|
||||
A shader printed message.
|
||||
)");
|
||||
struct ShaderMessage
|
||||
{
|
||||
DOCUMENT("");
|
||||
|
||||
@@ -32,7 +32,11 @@
|
||||
#include "rdcarray.h"
|
||||
#include "replay_enums.h"
|
||||
|
||||
DOCUMENT(R"(The size information for a task group.
|
||||
DOCUMENT(R"(
|
||||
TaskGroupSize()
|
||||
TaskGroupSize(other: TaskGroupSize)
|
||||
|
||||
The size information for a task group.
|
||||
)");
|
||||
struct TaskGroupSize
|
||||
{
|
||||
@@ -68,7 +72,11 @@ struct TaskGroupSize
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TaskGroupSize);
|
||||
|
||||
DOCUMENT(R"(The size information for a meshlet.
|
||||
DOCUMENT(R"(
|
||||
MeshletSize()
|
||||
MeshletSize(other: MeshletSize)
|
||||
|
||||
The size information for a meshlet.
|
||||
)");
|
||||
struct MeshletSize
|
||||
{
|
||||
@@ -101,7 +109,11 @@ of indices.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(MeshletSize);
|
||||
|
||||
DOCUMENT(R"(Contains the details of a single element of data (such as position or texture
|
||||
DOCUMENT(R"(
|
||||
MeshFormat()
|
||||
MeshFormat(other: MeshFormat)
|
||||
|
||||
Contains the details of a single element of data (such as position or texture
|
||||
co-ordinates) within a mesh.
|
||||
)");
|
||||
struct MeshFormat
|
||||
@@ -314,6 +326,9 @@ DECLARE_REFLECTION_STRUCT(MeshFormat);
|
||||
struct ICamera;
|
||||
|
||||
DOCUMENT(R"(
|
||||
MeshDisplay()
|
||||
MeshDisplay(other: MeshDisplay)
|
||||
|
||||
Describes how to render a mesh preview of one or more meshes. Describes the camera configuration as
|
||||
well as what options to use when rendering both the current mesh, and any other auxilliary meshes.
|
||||
|
||||
@@ -447,6 +462,9 @@ struct MeshDisplay
|
||||
DECLARE_REFLECTION_STRUCT(MeshDisplay);
|
||||
|
||||
DOCUMENT(R"(
|
||||
TextureDisplay()
|
||||
TextureDisplay(other: TextureDisplay)
|
||||
|
||||
Describes how to render a texture preview of an image. Describes the zoom and pan settings for the
|
||||
texture when rendering on a particular output, as well as the modification and selection of a
|
||||
particular subresource (such as array slice, mip or multi-sampled sample).
|
||||
@@ -621,7 +639,12 @@ If set to (0, 0, 0, 0) the global checkerboard colors are used.
|
||||
DECLARE_REFLECTION_STRUCT(TextureDisplay);
|
||||
|
||||
// some dependent structs for TextureSave
|
||||
DOCUMENT("How to map components to normalised ``[0, 255]`` for saving to 8-bit file formats.");
|
||||
DOCUMENT(R"(
|
||||
TextureComponentMapping()
|
||||
TextureComponentMapping(other: TextureComponentMapping)
|
||||
|
||||
How to map components to normalised ``[0, 255]`` for saving to 8-bit file formats.
|
||||
)");
|
||||
struct TextureComponentMapping
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -643,7 +666,11 @@ struct TextureComponentMapping
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureComponentMapping);
|
||||
|
||||
DOCUMENT(R"(How to map multisampled textures for saving to non-multisampled file formats.
|
||||
DOCUMENT(R"(
|
||||
TextureSampleMapping()
|
||||
TextureSampleMapping(other: TextureSampleMapping)
|
||||
|
||||
How to map multisampled textures for saving to non-multisampled file formats.
|
||||
|
||||
.. data:: ResolveSamples
|
||||
|
||||
@@ -680,7 +707,11 @@ normal 2D image. If set to :data:`ResolveSamples` then instead there's a default
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureSampleMapping);
|
||||
|
||||
DOCUMENT(R"(How to map array textures for saving to non-arrayed file formats.
|
||||
DOCUMENT(R"(
|
||||
TextureSliceMapping()
|
||||
TextureSliceMapping(other: TextureSliceMapping)
|
||||
|
||||
How to map array textures for saving to non-arrayed file formats.
|
||||
|
||||
If :data:`sliceIndex` is -1, :data:`cubeCruciform` == :data:`slicesAsGrid` == ``False`` and the file
|
||||
format doesn't support saving all slices, only slice 0 is saved.
|
||||
@@ -740,7 +771,12 @@ With the gaps filled in with transparent black.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureSliceMapping);
|
||||
|
||||
DOCUMENT("Describes a texture to save and how to map it to the destination file format.");
|
||||
DOCUMENT(R"(
|
||||
TextureSave()
|
||||
TextureSave(other: TextureSave)
|
||||
|
||||
Describes a texture to save and how to map it to the destination file format.
|
||||
)");
|
||||
struct TextureSave
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -834,7 +870,13 @@ It is an :class:`AlphaMapping` that controls what behaviour to use.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureSave);
|
||||
|
||||
DOCUMENT("A range of sized descriptors.");
|
||||
DOCUMENT(R"(
|
||||
DescriptorRange()
|
||||
DescriptorRange(other: DescriptorRange)
|
||||
DescriptorRange(access: DescriptorAccess)
|
||||
|
||||
A range of sized descriptors.
|
||||
)");
|
||||
struct DescriptorRange
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -893,7 +935,12 @@ struct DescriptorRange
|
||||
DECLARE_REFLECTION_STRUCT(DescriptorRange);
|
||||
|
||||
// dependent structs for TargetControlMessage
|
||||
DOCUMENT("Information about the a new capture created by the target.");
|
||||
DOCUMENT(R"(
|
||||
NewCaptureData()
|
||||
NewCaptureData(other: NewCaptureData)
|
||||
|
||||
Information about the a new capture created by the target.
|
||||
)");
|
||||
struct NewCaptureData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -963,7 +1010,12 @@ struct NewCaptureData
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(NewCaptureData);
|
||||
|
||||
DOCUMENT("Information about the API that the target is using.");
|
||||
DOCUMENT(R"(
|
||||
APIUseData()
|
||||
APIUseData(other: APIUseData)
|
||||
|
||||
Information about the API that the target is using.
|
||||
)");
|
||||
struct APIUseData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -998,7 +1050,12 @@ struct APIUseData
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(APIUseData);
|
||||
|
||||
DOCUMENT("Information about why the target is busy.");
|
||||
DOCUMENT(R"(
|
||||
BusyData()
|
||||
BusyData(other: BusyData)
|
||||
|
||||
Information about why the target is busy.
|
||||
)");
|
||||
struct BusyData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1015,7 +1072,12 @@ struct BusyData
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(BusyData);
|
||||
|
||||
DOCUMENT("Information about a new child process spawned by the target.");
|
||||
DOCUMENT(R"(
|
||||
NewChildData()
|
||||
NewChildData(other: NewChildData)
|
||||
|
||||
Information about a new child process spawned by the target.
|
||||
)");
|
||||
struct NewChildData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1037,7 +1099,12 @@ struct NewChildData
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(NewChildData);
|
||||
|
||||
DOCUMENT("A message from a target control connection.");
|
||||
DOCUMENT(R"(
|
||||
TargetControlMessage()
|
||||
TargetControlMessage(other: TargetControlMessage)
|
||||
|
||||
A message from a target control connection.
|
||||
)");
|
||||
struct TargetControlMessage
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1093,7 +1160,13 @@ or has finished, it will be -1.0
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TargetControlMessage);
|
||||
|
||||
DOCUMENT("A modification to a single environment variable.");
|
||||
DOCUMENT(R"(
|
||||
EnvironmentModification()
|
||||
EnvironmentModification(other: EnvironmentModification)
|
||||
EnvironmentModification(mod: EnvMod, sep: EnvSep, name: str, value: str)
|
||||
|
||||
A modification to a single environment variable.
|
||||
)");
|
||||
struct EnvironmentModification
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1145,7 +1218,12 @@ struct EnvironmentModification
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(EnvironmentModification);
|
||||
|
||||
DOCUMENT("The format for a capture file either supported to read from, or export to");
|
||||
DOCUMENT(R"(
|
||||
CaptureFileFormat()
|
||||
CaptureFileFormat(other: CaptureFileFormat)
|
||||
|
||||
The format for a capture file either supported to read from, or export to.
|
||||
)");
|
||||
struct CaptureFileFormat
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1217,7 +1295,12 @@ structured data.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CaptureFileFormat);
|
||||
|
||||
DOCUMENT("Describes a single GPU at replay time.");
|
||||
DOCUMENT(R"(
|
||||
GPUDevice()
|
||||
GPUDevice(other: GPUDevice)
|
||||
|
||||
Describes a single GPU at replay time.
|
||||
)");
|
||||
struct GPUDevice
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1271,7 +1354,12 @@ struct GPUDevice
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(GPUDevice);
|
||||
|
||||
DOCUMENT("The options controlling how replay of a capture should be performed");
|
||||
DOCUMENT(R"(
|
||||
ReplayOptions()
|
||||
ReplayOptions(other: ReplayOptions)
|
||||
|
||||
The options controlling how replay of a capture should be performed.
|
||||
)");
|
||||
struct ReplayOptions
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1378,7 +1466,12 @@ struct ANativeWindow;
|
||||
// for swig bindings treat the windowing data struct as completely opaque
|
||||
#if defined(SWIG)
|
||||
|
||||
DOCUMENT("An opaque structure created to hold windowing setup data");
|
||||
DOCUMENT(R"(
|
||||
WindowingData()
|
||||
WindowingData(other: WindowingData)
|
||||
|
||||
An opaque structure created to hold windowing setup data
|
||||
)");
|
||||
struct WindowingData
|
||||
{
|
||||
};
|
||||
@@ -1436,7 +1529,12 @@ DECLARE_STRINGISE_TYPE(WindowingData);
|
||||
|
||||
#endif
|
||||
|
||||
DOCUMENT(R"(Structure used for initialising environment in a replay application.)");
|
||||
DOCUMENT(R"(
|
||||
GlobalEnvironment()
|
||||
GlobalEnvironment(other: GlobalEnvironment)
|
||||
|
||||
Structure used for initialising environment in a replay application.
|
||||
)");
|
||||
struct GlobalEnvironment
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1468,7 +1566,11 @@ here.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(GlobalEnvironment);
|
||||
|
||||
DOCUMENT(R"(A general result from an operation with optional string information for failures.
|
||||
DOCUMENT(R"(
|
||||
ResultDetails()
|
||||
ResultDetails(other: ResultDetails)
|
||||
|
||||
A general result from an operation with optional string information for failures.
|
||||
|
||||
This struct can be compared directly to a :class:`ResultCode` for simple checks of status, and when
|
||||
converted to a string it includes the formatted result code and message as appropriate.
|
||||
@@ -1531,7 +1633,12 @@ extra information that is available about the error.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ResultDetails);
|
||||
|
||||
DOCUMENT("The result of executing or injecting into a program.")
|
||||
DOCUMENT(R"(
|
||||
ExecuteResult()
|
||||
ExecuteResult(other: ExecuteResult)
|
||||
|
||||
The result of executing or injecting into a program.
|
||||
)")
|
||||
struct ExecuteResult
|
||||
{
|
||||
DOCUMENT("");
|
||||
|
||||
@@ -32,7 +32,11 @@
|
||||
|
||||
namespace D3D11Pipe
|
||||
{
|
||||
DOCUMENT(R"(Describes a single D3D11 input layout element for one vertex input.
|
||||
DOCUMENT(R"(
|
||||
D3D11Layout()
|
||||
D3D11Layout(other: D3D11Layout)
|
||||
|
||||
Describes a single D3D11 input layout element for one vertex input.
|
||||
|
||||
.. data:: TightlyPacked
|
||||
|
||||
@@ -123,7 +127,12 @@ with the next instance data.
|
||||
static const uint32_t TightlyPacked = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a single D3D11 vertex buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
D3D11VertexBuffer()
|
||||
D3D11VertexBuffer(other: D3D11VertexBuffer)
|
||||
|
||||
Describes a single D3D11 vertex buffer binding.
|
||||
)")
|
||||
struct VertexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -164,7 +173,12 @@ struct VertexBuffer
|
||||
uint32_t byteStride = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the D3D11 index buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
D3D11IndexBuffer()
|
||||
D3D11IndexBuffer(other: D3D11IndexBuffer)
|
||||
|
||||
Describes the D3D11 index buffer binding.
|
||||
)")
|
||||
struct IndexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -192,7 +206,12 @@ it can be 0 if no index buffer is bound.
|
||||
uint32_t byteStride = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the input assembler data.");
|
||||
DOCUMENT(R"(
|
||||
D3D11InputAssembly()
|
||||
D3D11InputAssembly(other: D3D11InputAssembly)
|
||||
|
||||
Describes the input assembler data.
|
||||
)");
|
||||
struct InputAssembly
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -237,7 +256,12 @@ struct InputAssembly
|
||||
Topology topology = Topology::Unknown;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a D3D11 shader stage.");
|
||||
DOCUMENT(R"(
|
||||
D3D11Shader()
|
||||
D3D11Shader(other: D3D11Shader)
|
||||
|
||||
Describes a D3D11 shader stage.
|
||||
)");
|
||||
struct Shader
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -270,7 +294,12 @@ struct Shader
|
||||
rdcarray<rdcstr> classInstances;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a binding on the D3D11 stream-out stage.");
|
||||
DOCUMENT(R"(
|
||||
D3D11StreamOutBind()
|
||||
D3D11StreamOutBind(other: D3D11StreamOutBind)
|
||||
|
||||
Describes a binding on the D3D11 stream-out stage.
|
||||
)");
|
||||
struct StreamOutBind
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -303,7 +332,11 @@ struct StreamOutBind
|
||||
uint32_t byteOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT(R"(Describes the stream-out stage bindings.
|
||||
DOCUMENT(R"(
|
||||
D3D11StreamOut()
|
||||
D3D11StreamOut(other: D3D11StreamOut)
|
||||
|
||||
Describes the stream-out stage bindings.
|
||||
|
||||
.. data:: NoRasterization
|
||||
|
||||
@@ -334,7 +367,12 @@ If the value is :data:`NoRasterization` then no stream has been selected for ras
|
||||
static const uint32_t NoRasterization = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a rasterizer state object.");
|
||||
DOCUMENT(R"(
|
||||
D3D11RasterizerState()
|
||||
D3D11RasterizerState(other: D3D11RasterizerState)
|
||||
|
||||
Describes a rasterizer state object.
|
||||
)");
|
||||
struct RasterizerState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -412,7 +450,12 @@ not force any sample count.
|
||||
ConservativeRaster conservativeRasterization = ConservativeRaster::Disabled;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterization state of the D3D11 pipeline.");
|
||||
DOCUMENT(R"(
|
||||
D3D11Rasterizer()
|
||||
D3D11Rasterizer(other: D3D11Rasterizer)
|
||||
|
||||
Describes the rasterization state of the D3D11 pipeline.
|
||||
)");
|
||||
struct Rasterizer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -439,7 +482,12 @@ struct Rasterizer
|
||||
RasterizerState state;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a depth-stencil state object.");
|
||||
DOCUMENT(R"(
|
||||
D3D11DepthStencilState()
|
||||
D3D11DepthStencilState(other: D3D11DepthStencilState)
|
||||
|
||||
Describes a depth-stencil state object.
|
||||
)");
|
||||
struct DepthStencilState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -486,7 +534,12 @@ struct DepthStencilState
|
||||
StencilFace backFace;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a blend state object.");
|
||||
DOCUMENT(R"(
|
||||
D3D11BlendState()
|
||||
D3D11BlendState(other: D3D11BlendState)
|
||||
|
||||
Describes a blend state object.
|
||||
)");
|
||||
struct BlendState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -531,7 +584,12 @@ struct BlendState
|
||||
uint32_t sampleMask = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of the output-merger stage of the D3D11 pipeline.");
|
||||
DOCUMENT(R"(
|
||||
D3D11OutputMerger()
|
||||
D3D11OutputMerger(other: D3D11OutputMerger)
|
||||
|
||||
Describes the current state of the output-merger stage of the D3D11 pipeline.
|
||||
)");
|
||||
struct OutputMerger
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -580,7 +638,12 @@ struct OutputMerger
|
||||
bool stencilReadOnly = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of D3D11 predicated rendering.");
|
||||
DOCUMENT(R"(
|
||||
D3D11Predication()
|
||||
D3D11Predication(other: D3D11Predication)
|
||||
|
||||
Describes the current state of D3D11 predicated rendering.
|
||||
)");
|
||||
struct Predication
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -607,7 +670,9 @@ struct Predication
|
||||
bool isPassing = false;
|
||||
};
|
||||
|
||||
DOCUMENT("The full current D3D11 pipeline state.");
|
||||
DOCUMENT(R"(
|
||||
The full current D3D11 pipeline state.
|
||||
)");
|
||||
struct State
|
||||
{
|
||||
#if !defined(RENDERDOC_EXPORTS)
|
||||
|
||||
@@ -28,7 +28,11 @@
|
||||
|
||||
namespace D3D12Pipe
|
||||
{
|
||||
DOCUMENT(R"(Describes a single D3D12 input layout element for one vertex input.
|
||||
DOCUMENT(R"(
|
||||
D3D12Layout()
|
||||
D3D12Layout(other: D3D12Layout)
|
||||
|
||||
Describes a single D3D12 input layout element for one vertex input.
|
||||
|
||||
.. data:: TightlyPacked
|
||||
|
||||
@@ -119,7 +123,12 @@ with the next instance data.
|
||||
static const uint32_t TightlyPacked = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a single D3D12 vertex buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
D3D12VertexBuffer()
|
||||
D3D12VertexBuffer(other: D3D12VertexBuffer)
|
||||
|
||||
Describes a single D3D12 vertex buffer binding.
|
||||
)")
|
||||
struct VertexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -169,7 +178,12 @@ struct VertexBuffer
|
||||
uint32_t byteStride = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the D3D12 index buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
D3D12IndexBuffer()
|
||||
D3D12IndexBuffer(other: D3D12IndexBuffer)
|
||||
|
||||
Describes the D3D12 index buffer binding.
|
||||
)")
|
||||
struct IndexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -203,7 +217,12 @@ it can be 0 if no index buffer is bound.
|
||||
uint32_t byteStride = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the input assembler state in the PSO.");
|
||||
DOCUMENT(R"(
|
||||
D3D12InputAssembly()
|
||||
D3D12InputAssembly(other: D3D12InputAssembly)
|
||||
|
||||
Describes the input assembler state in the PSO.
|
||||
)");
|
||||
struct InputAssembly
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -243,7 +262,12 @@ If the value is 0, strip cutting is disabled.
|
||||
Topology topology = Topology::Unknown;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a D3D12 shader stage.");
|
||||
DOCUMENT(R"(
|
||||
D3D12Shader()
|
||||
D3D12Shader(other: D3D12Shader)
|
||||
|
||||
Describes a D3D12 shader stage.
|
||||
)");
|
||||
struct Shader
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -270,7 +294,12 @@ struct Shader
|
||||
ShaderStage stage = ShaderStage::Vertex;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a binding on the D3D12 stream-out stage.");
|
||||
DOCUMENT(R"(
|
||||
D3D12StreamOutBind()
|
||||
D3D12StreamOutBind(other: D3D12StreamOutBind)
|
||||
|
||||
Describes a binding on the D3D12 stream-out stage.
|
||||
)");
|
||||
struct StreamOutBind
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -328,7 +357,11 @@ written.
|
||||
uint64_t writtenCountByteOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT(R"(Describes the stream-out state in the PSO.
|
||||
DOCUMENT(R"(
|
||||
D3D12StreamOut()
|
||||
D3D12StreamOut(other: D3D12StreamOut)
|
||||
|
||||
Describes the stream-out state in the PSO.
|
||||
|
||||
.. data:: NoRasterization
|
||||
|
||||
@@ -359,7 +392,12 @@ If the value is :data:`NoRasterization` then no stream has been selected for ras
|
||||
static const uint32_t NoRasterization = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterizer state in the PSO.");
|
||||
DOCUMENT(R"(
|
||||
D3D12RasterizerState()
|
||||
D3D12RasterizerState(other: D3D12RasterizerState)
|
||||
|
||||
Describes the rasterizer state in the PSO.
|
||||
)");
|
||||
struct RasterizerState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -461,7 +499,12 @@ shading rate sampled from the shading rate image.
|
||||
ResourceId shadingRateImage;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterization state of the D3D12 pipeline.");
|
||||
DOCUMENT(R"(
|
||||
D3D12Rasterizer()
|
||||
D3D12Rasterizer(other: D3D12Rasterizer)
|
||||
|
||||
Describes the rasterization state of the D3D12 pipeline.
|
||||
)");
|
||||
struct Rasterizer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -494,7 +537,12 @@ struct Rasterizer
|
||||
RasterizerState state;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the state of the depth-stencil state in the PSO.");
|
||||
DOCUMENT(R"(
|
||||
D3D12DepthStencilState()
|
||||
D3D12DepthStencilState(other: D3D12DepthStencilState)
|
||||
|
||||
Describes the state of the depth-stencil state in the PSO.
|
||||
)");
|
||||
struct DepthStencilState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -552,7 +600,12 @@ struct DepthStencilState
|
||||
float maxDepthBounds = 0.0f;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the blend state in the PSO.");
|
||||
DOCUMENT(R"(
|
||||
D3D12BlendState()
|
||||
D3D12BlendState(other: D3D12BlendState)
|
||||
|
||||
Describes the blend state in the PSO.
|
||||
)");
|
||||
struct BlendState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -586,7 +639,12 @@ struct BlendState
|
||||
rdcfixedarray<float, 4> blendFactor = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of the output-merger stage of the D3D12 pipeline.");
|
||||
DOCUMENT(R"(
|
||||
D3D12OM()
|
||||
D3D12OM(other: D3D12OM)
|
||||
|
||||
Describes the current state of the output-merger stage of the D3D12 pipeline.
|
||||
)");
|
||||
struct OM
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -629,7 +687,12 @@ struct OM
|
||||
bool stencilReadOnly = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state that a sub-resource is in.");
|
||||
DOCUMENT(R"(
|
||||
D3D12ResourceState()
|
||||
D3D12ResourceState(other: D3D12ResourceState)
|
||||
|
||||
Describes the current state that a sub-resource is in.
|
||||
)");
|
||||
struct ResourceState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -651,7 +714,12 @@ struct ResourceState
|
||||
rdcstr name;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the current state of a given resource.");
|
||||
DOCUMENT(R"(
|
||||
D3D12ResourceData()
|
||||
D3D12ResourceData(other: D3D12ResourceData)
|
||||
|
||||
Contains the current state of a given resource.
|
||||
)");
|
||||
struct ResourceData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -684,7 +752,12 @@ struct ResourceData
|
||||
rdcarray<ResourceState> states;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the structure of a single range within a root table definition.");
|
||||
DOCUMENT(R"(
|
||||
D3D12RootTableRange()
|
||||
D3D12RootTableRange(other: D3D12RootTableRange)
|
||||
|
||||
Contains the structure of a single range within a root table definition.
|
||||
)");
|
||||
struct RootTableRange
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -749,7 +822,12 @@ offset in :data:`tableByteOffset`.
|
||||
bool appended = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the structure and content of a single root parameter.");
|
||||
DOCUMENT(R"(
|
||||
D3D12RootParam()
|
||||
D3D12RootParam(other: D3D12RootParam)
|
||||
|
||||
Contains the structure and content of a single root parameter.
|
||||
)");
|
||||
struct RootParam
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -836,7 +914,12 @@ parameter. See :data:`heap` and :data:`tableRanges`.
|
||||
rdcarray<RootTableRange> tableRanges;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the details of a single static sampler in a root signature.");
|
||||
DOCUMENT(R"(
|
||||
D3D12StaticSampler()
|
||||
D3D12StaticSampler(other: D3D12StaticSampler)
|
||||
|
||||
Contains the details of a single static sampler in a root signature.
|
||||
)");
|
||||
struct StaticSampler
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -887,7 +970,12 @@ struct StaticSampler
|
||||
SamplerDescriptor descriptor;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the root signature structure and root parameters.");
|
||||
DOCUMENT(R"(
|
||||
D3D12RootSignature()
|
||||
D3D12RootSignature(other: D3D12RootSignature)
|
||||
|
||||
Contains the root signature structure and root parameters.
|
||||
)");
|
||||
struct RootSignature
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -914,7 +1002,12 @@ struct RootSignature
|
||||
rdcarray<StaticSampler> staticSamplers;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of D3D12 predicated rendering.");
|
||||
DOCUMENT(R"(
|
||||
D3D12Predication()
|
||||
D3D12Predication(other: D3D12Predication)
|
||||
|
||||
Describes the current state of D3D12 predicated rendering.
|
||||
)");
|
||||
struct Predication
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -946,7 +1039,9 @@ If ``False`` then a zero in the buffer would lead to them being performed as nor
|
||||
bool skipIfZero = false;
|
||||
};
|
||||
|
||||
DOCUMENT("The full current D3D12 pipeline state.");
|
||||
DOCUMENT(R"(
|
||||
The full current D3D12 pipeline state.
|
||||
)");
|
||||
struct State
|
||||
{
|
||||
#if !defined(RENDERDOC_EXPORTS)
|
||||
|
||||
@@ -33,7 +33,13 @@
|
||||
#include "stringise.h"
|
||||
#include "structured_data.h"
|
||||
|
||||
DOCUMENT("A floating point four-component vector");
|
||||
DOCUMENT(R"(
|
||||
FloatVector()
|
||||
FloatVector(other: FloatVector)
|
||||
FloatVector(x: float, y: float, z: float, w: float)
|
||||
|
||||
A floating point four-component vector
|
||||
)");
|
||||
struct FloatVector
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -87,7 +93,13 @@ struct FloatVector
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(FloatVector);
|
||||
|
||||
DOCUMENT("A transform to map the x, y, and z axes to new directions.");
|
||||
DOCUMENT(R"(
|
||||
AxisMapping()
|
||||
AxisMapping(other: AxisMapping)
|
||||
AxisMapping(xAxis: FloatVector, yAxis: FloatVector, zAxis: FloatVector)
|
||||
|
||||
A transform to map the x, y, and z axes to new directions.
|
||||
)");
|
||||
struct AxisMapping
|
||||
{
|
||||
AxisMapping()
|
||||
@@ -121,7 +133,13 @@ struct AxisMapping
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(AxisMapping);
|
||||
|
||||
DOCUMENT("Properties of a path on a remote filesystem.");
|
||||
DOCUMENT(R"(
|
||||
PathEntry()
|
||||
PathEntry(other: PathEntry)
|
||||
PathEntry(filename: str, flags: PathProperty)
|
||||
|
||||
Properties of a path on a remote filesystem.
|
||||
)");
|
||||
struct PathEntry
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -172,7 +190,12 @@ struct PathEntry
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(PathEntry);
|
||||
|
||||
DOCUMENT("Properties of a section in a renderdoc capture file.");
|
||||
DOCUMENT(R"(
|
||||
SectionProperties()
|
||||
SectionProperties(other: SectionProperties)
|
||||
|
||||
Properties of a section in a renderdoc capture file.
|
||||
)");
|
||||
struct SectionProperties
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -226,7 +249,12 @@ extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_ResourceFormatName(const Re
|
||||
rdcstr &name);
|
||||
#endif
|
||||
|
||||
DOCUMENT("Description of the format of a resource or element.");
|
||||
DOCUMENT(R"(
|
||||
ResourceFormat()
|
||||
ResourceFormat(other: ResourceFormat)
|
||||
|
||||
Description of the format of a resource or element.
|
||||
)");
|
||||
struct ResourceFormat
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -684,7 +712,12 @@ private:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ResourceFormat);
|
||||
|
||||
DOCUMENT("The details of a texture filter in a sampler.");
|
||||
DOCUMENT(R"(
|
||||
TextureFilter()
|
||||
TextureFilter(other: TextureFilter)
|
||||
|
||||
The details of a texture filter in a sampler.
|
||||
)");
|
||||
struct TextureFilter
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -732,7 +765,12 @@ struct TextureFilter
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureFilter);
|
||||
|
||||
DOCUMENT("The four components of a texture swizzle.");
|
||||
DOCUMENT(R"(
|
||||
TextureSwizzle4()
|
||||
TextureSwizzle4(other: TextureSwizzle4)
|
||||
|
||||
The four components of a texture swizzle.
|
||||
)");
|
||||
struct TextureSwizzle4
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -781,7 +819,12 @@ struct TextureSwizzle4
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureSwizzle4);
|
||||
|
||||
DOCUMENT("A description of any type of resource.");
|
||||
DOCUMENT(R"(
|
||||
ResourceDescription()
|
||||
ResourceDescription(other: ResourceDescription)
|
||||
|
||||
A description of any type of resource.
|
||||
)");
|
||||
struct ResourceDescription
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -867,7 +910,12 @@ annotations are not used.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ResourceDescription);
|
||||
|
||||
DOCUMENT("A description of a descriptor store.");
|
||||
DOCUMENT(R"(
|
||||
DescriptorStoreDescription()
|
||||
DescriptorStoreDescription(other: DescriptorStoreDescription)
|
||||
|
||||
A description of a descriptor store.
|
||||
)");
|
||||
struct DescriptorStoreDescription
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -911,7 +959,12 @@ descriptor. Descriptors are assumed to be tightly packed so stride is equal to s
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DescriptorStoreDescription);
|
||||
|
||||
DOCUMENT("A description of a buffer resource.");
|
||||
DOCUMENT(R"(
|
||||
BufferDescription()
|
||||
BufferDescription(other: BufferDescription)
|
||||
|
||||
A description of a buffer resource.
|
||||
)");
|
||||
struct BufferDescription
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -963,7 +1016,12 @@ struct BufferDescription
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(BufferDescription);
|
||||
|
||||
DOCUMENT("A description of a texture resource.");
|
||||
DOCUMENT(R"(
|
||||
TextureDescription()
|
||||
TextureDescription(other: TextureDescription)
|
||||
|
||||
A description of a texture resource.
|
||||
)");
|
||||
struct TextureDescription
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1098,7 +1156,11 @@ struct TextureDescription
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(TextureDescription);
|
||||
|
||||
DOCUMENT(R"(An individual API-level event, generally corresponds one-to-one with an API call.
|
||||
DOCUMENT(R"(
|
||||
APIEvent()
|
||||
APIEvent(other: APIEvent)
|
||||
|
||||
An individual API-level event, generally corresponds one-to-one with an API call.
|
||||
|
||||
.. data:: NoChunk
|
||||
|
||||
@@ -1161,7 +1223,12 @@ annotations are not used.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(APIEvent);
|
||||
|
||||
DOCUMENT("A debugging message from the API validation or internal analysis and error detection.");
|
||||
DOCUMENT(R"(
|
||||
DebugMessage()
|
||||
DebugMessage(other: DebugMessage)
|
||||
|
||||
A debugging message from the API validation or internal analysis and error detection.
|
||||
)");
|
||||
struct DebugMessage
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1248,7 +1315,11 @@ enum class BucketRecordType : int
|
||||
};
|
||||
DECLARE_REFLECTION_ENUM(BucketRecordType);
|
||||
|
||||
DOCUMENT(R"(Contains the statistics for constant binds in a frame.
|
||||
DOCUMENT(R"(
|
||||
ConstantBindStats()
|
||||
ConstantBindStats(other: ConstantBindStats)
|
||||
|
||||
Contains the statistics for constant binds in a frame.
|
||||
|
||||
.. data:: BucketType
|
||||
|
||||
@@ -1319,7 +1390,12 @@ struct ConstantBindStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ConstantBindStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for sampler binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
SamplerBindStats()
|
||||
SamplerBindStats(other: SamplerBindStats)
|
||||
|
||||
Contains the statistics for sampler binds in a frame.
|
||||
)");
|
||||
struct SamplerBindStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1369,7 +1445,12 @@ struct SamplerBindStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(SamplerBindStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for resource binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
ResourceBindStats()
|
||||
ResourceBindStats(other: ResourceBindStats)
|
||||
|
||||
Contains the statistics for resource binds in a frame.
|
||||
)");
|
||||
struct ResourceBindStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1430,7 +1511,11 @@ The Nth element contains the number of times a resource of that type was bound.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ResourceBindStats);
|
||||
|
||||
DOCUMENT(R"(Contains the statistics for resource updates in a frame.
|
||||
DOCUMENT(R"(
|
||||
ResourceUpdateStats()
|
||||
ResourceUpdateStats(other: ResourceUpdateStats)
|
||||
|
||||
Contains the statistics for resource updates in a frame.
|
||||
|
||||
.. data:: BucketType
|
||||
|
||||
@@ -1485,7 +1570,11 @@ The Nth element contains the number of times a resource of that type was updated
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ResourceUpdateStats);
|
||||
|
||||
DOCUMENT(R"(Contains the statistics for draws in a frame.
|
||||
DOCUMENT(R"(
|
||||
DrawcallStats()
|
||||
DrawcallStats(other: DrawcallStats)
|
||||
|
||||
Contains the statistics for draws in a frame.
|
||||
|
||||
.. data:: BucketType
|
||||
|
||||
@@ -1535,7 +1624,12 @@ struct DrawcallStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DrawcallStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for compute dispatches in a frame.");
|
||||
DOCUMENT(R"(
|
||||
DispatchStats()
|
||||
DispatchStats(other: DispatchStats)
|
||||
|
||||
Contains the statistics for compute dispatches in a frame.
|
||||
)");
|
||||
struct DispatchStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1558,7 +1652,12 @@ struct DispatchStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DispatchStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for index buffer binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
IndexBindStats()
|
||||
IndexBindStats(other: IndexBindStats)
|
||||
|
||||
Contains the statistics for index buffer binds in a frame.
|
||||
)");
|
||||
struct IndexBindStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1587,7 +1686,12 @@ struct IndexBindStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(IndexBindStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for vertex buffer binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
VertexBindStats()
|
||||
VertexBindStats(other: VertexBindStats)
|
||||
|
||||
Contains the statistics for vertex buffer binds in a frame.
|
||||
)");
|
||||
struct VertexBindStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1622,7 +1726,12 @@ struct VertexBindStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(VertexBindStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for vertex layout binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
LayoutBindStats()
|
||||
LayoutBindStats(other: LayoutBindStats)
|
||||
|
||||
Contains the statistics for vertex layout binds in a frame.
|
||||
)");
|
||||
struct LayoutBindStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1651,7 +1760,12 @@ struct LayoutBindStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(LayoutBindStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for shader binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
ShaderChangeStats()
|
||||
ShaderChangeStats(other: ShaderChangeStats)
|
||||
|
||||
Contains the statistics for shader binds in a frame.
|
||||
)");
|
||||
struct ShaderChangeStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1701,7 +1815,12 @@ struct ShaderChangeStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderChangeStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for blend state binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
BlendStats()
|
||||
BlendStats(other: BlendStats)
|
||||
|
||||
Contains the statistics for blend state binds in a frame.
|
||||
)");
|
||||
struct BlendStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1736,7 +1855,12 @@ struct BlendStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(BlendStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for depth stencil state binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
DepthStencilStats()
|
||||
DepthStencilStats(other: DepthStencilStats)
|
||||
|
||||
Contains the statistics for depth stencil state binds in a frame.
|
||||
)");
|
||||
struct DepthStencilStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1771,7 +1895,12 @@ struct DepthStencilStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DepthStencilStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for rasterizer state binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
RasterizationStats()
|
||||
RasterizationStats(other: RasterizationStats)
|
||||
|
||||
Contains the statistics for rasterizer state binds in a frame.
|
||||
)");
|
||||
struct RasterizationStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1818,7 +1947,12 @@ struct RasterizationStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(RasterizationStats);
|
||||
|
||||
DOCUMENT("Contains the statistics for output merger or UAV binds in a frame.");
|
||||
DOCUMENT(R"(
|
||||
OutputTargetStats()
|
||||
OutputTargetStats(other: OutputTargetStats)
|
||||
|
||||
Contains the statistics for output merger or UAV binds in a frame.
|
||||
)");
|
||||
struct OutputTargetStats
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1853,7 +1987,11 @@ struct OutputTargetStats
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(OutputTargetStats);
|
||||
|
||||
DOCUMENT(R"(Contains all the available statistics about the captured frame.
|
||||
DOCUMENT(R"(
|
||||
FrameStatistics()
|
||||
FrameStatistics(other: FrameStatistics)
|
||||
|
||||
Contains all the available statistics about the captured frame.
|
||||
|
||||
Currently this information is only available on D3D11 and is fairly API-centric.
|
||||
)");
|
||||
@@ -1963,7 +2101,11 @@ struct FrameStatistics
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(FrameStatistics);
|
||||
|
||||
DOCUMENT(R"(Contains frame-level global information
|
||||
DOCUMENT(R"(
|
||||
FrameDescription()
|
||||
FrameDescription(other: FrameDescription)
|
||||
|
||||
Contains frame-level global information
|
||||
|
||||
.. data:: NoFrameNumber
|
||||
|
||||
@@ -2058,8 +2200,13 @@ this counts the frame number when the capture was made.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(FrameDescription);
|
||||
|
||||
DOCUMENT(
|
||||
"Describes a particular use of a resource at a specific :data:`eventId <APIEvent.eventId>`.");
|
||||
DOCUMENT(R"(
|
||||
EventUsage()
|
||||
EventUsage(other: EventUsage)
|
||||
EventUsage(eventId: int, usage: ResourceUsage)
|
||||
|
||||
Describes a particular use of a resource at a specific :data:`eventId <APIEvent.eventId>`.
|
||||
)");
|
||||
struct EventUsage
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2091,7 +2238,13 @@ struct EventUsage
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(EventUsage);
|
||||
|
||||
DOCUMENT("Specifies a subresource within a texture.");
|
||||
DOCUMENT(R"(
|
||||
Subresource()
|
||||
Subresource(other: Subresource)
|
||||
Subresource(mip: int = 0, slice: int = 0, sample: int = 0)
|
||||
|
||||
Specifies a subresource within a texture.
|
||||
)");
|
||||
struct Subresource
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2144,7 +2297,11 @@ texture may not allow referring to a single depth slice - see where the Subresou
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Subresource);
|
||||
|
||||
DOCUMENT(R"(Describes the properties of an action.
|
||||
DOCUMENT(R"(
|
||||
ActionDescription()
|
||||
ActionDescription(other: ActionDescription)
|
||||
|
||||
Describes the properties of an action.
|
||||
|
||||
An action is a call such as a draw, a compute dispatch, clears, copies, resolves, etc. Any GPU event
|
||||
which may have deliberate visible side-effects to application-visible memory, typically resources
|
||||
@@ -2373,7 +2530,12 @@ for very coarse bucketing of actions into similar passes by their outputs.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ActionDescription);
|
||||
|
||||
DOCUMENT("Gives some API-specific information about the capture.");
|
||||
DOCUMENT(R"(
|
||||
APIProperties()
|
||||
APIProperties(other: APIProperties)
|
||||
|
||||
Gives some API-specific information about the capture.
|
||||
)");
|
||||
struct APIProperties
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2444,7 +2606,12 @@ with software rendering, or with some functionality disabled due to lack of supp
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(APIProperties);
|
||||
|
||||
DOCUMENT("Gives information about the driver for this API.");
|
||||
DOCUMENT(R"(
|
||||
DriverInformation()
|
||||
DriverInformation(other: DriverInformation)
|
||||
|
||||
Gives information about the driver for this API.
|
||||
)");
|
||||
struct DriverInformation
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2467,7 +2634,13 @@ struct DriverInformation
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DriverInformation);
|
||||
|
||||
DOCUMENT("A 128-bit Uuid.");
|
||||
DOCUMENT(R"(
|
||||
Uuid()
|
||||
Uuid(other: Uuid)
|
||||
Uuid(word1: int, word2: int, word3: int, word4: int)
|
||||
|
||||
A 128-bit Uuid.
|
||||
)");
|
||||
struct Uuid
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2496,7 +2669,12 @@ struct Uuid
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Uuid);
|
||||
|
||||
DOCUMENT("Describes a GPU counter's purpose and result value.");
|
||||
DOCUMENT(R"(
|
||||
CounterDescription()
|
||||
CounterDescription(other: CounterDescription)
|
||||
|
||||
Describes a GPU counter's purpose and result value.
|
||||
)");
|
||||
struct CounterDescription
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2564,7 +2742,11 @@ struct CounterDescription
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CounterDescription);
|
||||
|
||||
DOCUMENT(R"(A resulting value from a GPU counter. Only one member is valid, see
|
||||
DOCUMENT(R"(
|
||||
CounterValue()
|
||||
CounterValue(other: CounterValue)
|
||||
|
||||
A resulting value from a GPU counter. Only one member is valid, see
|
||||
:class:`CounterDescription`.
|
||||
)");
|
||||
union CounterValue
|
||||
@@ -2593,7 +2775,14 @@ union CounterValue
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CounterValue);
|
||||
|
||||
DOCUMENT("The resulting value from a counter at an event.");
|
||||
DOCUMENT(R"(
|
||||
CounterResult()
|
||||
CounterResult(other: CounterResult)
|
||||
CounterResult(eventId: int, counter: GPUCounter, data: float)
|
||||
CounterResult(eventId: int, counter: GPUCounter, data: int)
|
||||
|
||||
The resulting value from a counter at an event.
|
||||
)");
|
||||
struct CounterResult
|
||||
{
|
||||
#if defined(SWIG) || defined(SWIGPYTHON)
|
||||
@@ -2680,7 +2869,12 @@ struct CounterResult
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(CounterResult);
|
||||
|
||||
DOCUMENT("The contents of an RGBA pixel.");
|
||||
DOCUMENT(R"(
|
||||
PixelValue()
|
||||
PixelValue(other: CounterValue)
|
||||
|
||||
The contents of an RGBA pixel.
|
||||
)");
|
||||
union PixelValue
|
||||
{
|
||||
DOCUMENT(R"(The RGBA value interpreted as ``float``.
|
||||
@@ -2702,7 +2896,12 @@ union PixelValue
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(PixelValue);
|
||||
|
||||
DOCUMENT("The value of pixel output at a particular event.");
|
||||
DOCUMENT(R"(
|
||||
ModificationValue()
|
||||
ModificationValue(other: ModificationValue)
|
||||
|
||||
The value of pixel output at a particular event.
|
||||
)");
|
||||
struct ModificationValue
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2766,7 +2965,12 @@ will be ``-2``. This will only happen when looking at multiple modifications fro
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ModificationValue);
|
||||
|
||||
DOCUMENT("An attempt to modify a pixel by a particular event.");
|
||||
DOCUMENT(R"(
|
||||
PixelModification()
|
||||
PixelModification(other: PixelModification)
|
||||
|
||||
An attempt to modify a pixel by a particular event.
|
||||
)");
|
||||
struct PixelModification
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -2989,7 +3193,12 @@ This is primarily used internally and should not be needed to be called external
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(PixelModification);
|
||||
|
||||
DOCUMENT("Contains the bytes and metadata describing a thumbnail.");
|
||||
DOCUMENT(R"(
|
||||
Thumbnail()
|
||||
Thumbnail(other: Thumbnail)
|
||||
|
||||
Contains the bytes and metadata describing a thumbnail.
|
||||
)");
|
||||
struct Thumbnail
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -3024,9 +3233,13 @@ struct Thumbnail
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(Thumbnail);
|
||||
|
||||
DOCUMENT(
|
||||
"Contains the properties used to select which fragment to debug, used as an input to "
|
||||
"DebugPixel.");
|
||||
DOCUMENT(R"(
|
||||
DebugPixelInputs()
|
||||
DebugPixelInputs(other: DebugPixelInputs)
|
||||
|
||||
Contains the properties used to select which fragment to debug, used as an input
|
||||
to :meth:`ReplayController.DebugPixel`.
|
||||
)");
|
||||
struct DebugPixelInputs
|
||||
{
|
||||
DOCUMENT("");
|
||||
|
||||
@@ -29,7 +29,11 @@
|
||||
|
||||
namespace GLPipe
|
||||
{
|
||||
DOCUMENT(R"(Describes the configuration for a single vertex attribute.
|
||||
DOCUMENT(R"(
|
||||
GLVertexAttribute()
|
||||
GLVertexAttribute(other: GLVertexAttribute)
|
||||
|
||||
Describes the configuration for a single vertex attribute.
|
||||
|
||||
.. note:: If old-style vertex attrib pointer setup was used for the vertex attributes then it will
|
||||
be decomposed into 1:1 attributes and buffers.
|
||||
@@ -115,7 +119,12 @@ If any value is set to ``-1`` then the attribute is unbound.
|
||||
uint32_t byteOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a single OpenGL vertex buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
GLVertexBuffer()
|
||||
GLVertexBuffer(other: GLVertexBuffer)
|
||||
|
||||
Describes a single OpenGL vertex buffer binding.
|
||||
)")
|
||||
struct VertexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -168,7 +177,12 @@ If it's ``1`` then one element is read for each instance, and for ``N`` greater
|
||||
uint32_t instanceDivisor = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the setup for fixed-function vertex input fetch.");
|
||||
DOCUMENT(R"(
|
||||
GLVertexInput()
|
||||
GLVertexInput(other: GLVertexInput)
|
||||
|
||||
Describes the setup for fixed-function vertex input fetch.
|
||||
)");
|
||||
struct VertexInput
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -238,7 +252,12 @@ non-indexed draws.
|
||||
bool provokingVertexLast = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes an OpenGL shader stage.");
|
||||
DOCUMENT(R"(
|
||||
GLShader()
|
||||
GLShader(other: GLShader)
|
||||
|
||||
Describes an OpenGL shader stage.
|
||||
)");
|
||||
struct Shader
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -277,7 +296,12 @@ struct Shader
|
||||
rdcarray<uint32_t> subroutines;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the setup for fixed vertex processing operations.");
|
||||
DOCUMENT(R"(
|
||||
GLFixedVertexProcessing()
|
||||
GLFixedVertexProcessing(other: GLFixedVertexProcessing)
|
||||
|
||||
Describes the setup for fixed vertex processing operations.
|
||||
)");
|
||||
struct FixedVertexProcessing
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -322,7 +346,12 @@ struct FixedVertexProcessing
|
||||
bool clipNegativeOneToOne = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the a texture completeness issue of a descriptor.");
|
||||
DOCUMENT(R"(
|
||||
GLTextureCompleteness()
|
||||
GLTextureCompleteness(other: GLTextureCompleteness)
|
||||
|
||||
Describes the a texture completeness issue of a descriptor.
|
||||
)");
|
||||
struct TextureCompleteness
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -364,7 +393,12 @@ in conflict and their types.
|
||||
rdcstr typeConflict;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current feedback state.");
|
||||
DOCUMENT(R"(
|
||||
GLFeedback()
|
||||
GLFeedback(other: GLFeedback)
|
||||
|
||||
Describes the current feedback state.
|
||||
)");
|
||||
struct Feedback
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -404,7 +438,12 @@ struct Feedback
|
||||
bool paused = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterizer state toggles.");
|
||||
DOCUMENT(R"(
|
||||
GLRasterizerState()
|
||||
GLRasterizerState(other: GLRasterizerState)
|
||||
|
||||
Describes the rasterizer state toggles.
|
||||
)");
|
||||
struct RasterizerState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -531,7 +570,12 @@ resolve the final output color.
|
||||
bool pointOriginUpperLeft = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterization state of the OpenGL pipeline.");
|
||||
DOCUMENT(R"(
|
||||
GLRasterizer()
|
||||
GLRasterizer(other: GLRasterizer)
|
||||
|
||||
Describes the rasterization state of the OpenGL pipeline.
|
||||
)");
|
||||
struct Rasterizer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -558,7 +602,12 @@ struct Rasterizer
|
||||
RasterizerState state;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the depth state.");
|
||||
DOCUMENT(R"(
|
||||
GLDepthState()
|
||||
GLDepthState(other: GLDepthState)
|
||||
|
||||
Describes the depth state.
|
||||
)");
|
||||
struct DepthState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -598,7 +647,12 @@ struct DepthState
|
||||
double farBound = 0.0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the stencil state.");
|
||||
DOCUMENT(R"(
|
||||
GLStencilState()
|
||||
GLStencilState(other: GLStencilState)
|
||||
|
||||
Describes the stencil state.
|
||||
)");
|
||||
struct StencilState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -625,7 +679,12 @@ struct StencilState
|
||||
StencilFace backFace;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the contents of a framebuffer object.");
|
||||
DOCUMENT(R"(
|
||||
GLFBO()
|
||||
GLFBO(other: GLFBO)
|
||||
|
||||
Describes the contents of a framebuffer object.
|
||||
)");
|
||||
struct FBO
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -666,7 +725,12 @@ struct FBO
|
||||
int32_t readBuffer = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the blend pipeline state.");
|
||||
DOCUMENT(R"(
|
||||
GLBlendState()
|
||||
GLBlendState(other: GLBlendState)
|
||||
|
||||
Describes the blend pipeline state.
|
||||
)");
|
||||
struct BlendState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -687,7 +751,12 @@ struct BlendState
|
||||
rdcfixedarray<float, 4> blendFactor = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of the framebuffer stage of the pipeline.");
|
||||
DOCUMENT(R"(
|
||||
GLFrameBuffer()
|
||||
GLFrameBuffer(other: GLFrameBuffer)
|
||||
|
||||
Describes the current state of the framebuffer stage of the pipeline.
|
||||
)");
|
||||
struct FrameBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -724,7 +793,12 @@ struct FrameBuffer
|
||||
BlendState blendState;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current state of GL hints and smoothing.");
|
||||
DOCUMENT(R"(
|
||||
GLHints()
|
||||
GLHints(other: GLHints)
|
||||
|
||||
Describes the current state of GL hints and smoothing.
|
||||
)");
|
||||
struct Hints
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -764,7 +838,9 @@ struct Hints
|
||||
bool polySmoothingEnabled = false;
|
||||
};
|
||||
|
||||
DOCUMENT("The full current OpenGL pipeline state.");
|
||||
DOCUMENT(R"(
|
||||
The full current OpenGL pipeline state.
|
||||
)");
|
||||
struct State
|
||||
{
|
||||
#if !defined(RENDERDOC_EXPORTS)
|
||||
|
||||
@@ -29,7 +29,10 @@
|
||||
#include "gl_pipestate.h"
|
||||
#include "vk_pipestate.h"
|
||||
|
||||
DOCUMENT(R"(An API-agnostic view of the common aspects of the pipeline state. This allows simple
|
||||
DOCUMENT(R"(
|
||||
PipeState()
|
||||
|
||||
An API-agnostic view of the common aspects of the pipeline state. This allows simple
|
||||
access to e.g. find out the bound resources or vertex buffers, or certain pipeline state which is
|
||||
available on all APIs.
|
||||
|
||||
|
||||
@@ -41,7 +41,11 @@ ResourceId GetNewUniqueID();
|
||||
// between two textures allocated in the same memory (after the first is freed)
|
||||
//
|
||||
// it's a struct around a uint64_t to aid in template selection
|
||||
DOCUMENT(R"(This is an opaque identifier that uniquely locates a resource.
|
||||
DOCUMENT(R"(
|
||||
ResourceId()
|
||||
ResourceId(other: ResourceId)
|
||||
|
||||
This is an opaque identifier that uniquely locates a resource.
|
||||
|
||||
.. note::
|
||||
These IDs do not overlap ever - textures, buffers, shaders and samplers will all have unique IDs
|
||||
|
||||
@@ -33,7 +33,12 @@
|
||||
#include "resourceid.h"
|
||||
#include "stringise.h"
|
||||
|
||||
DOCUMENT("A 64-bit pointer value with optional type information.")
|
||||
DOCUMENT(R"(
|
||||
PointerVal()
|
||||
PointerVal(other: PointerVal)
|
||||
|
||||
A 64-bit pointer value with optional type information.
|
||||
)")
|
||||
struct PointerVal
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -64,7 +69,14 @@ DECLARE_STRINGISE_TYPE(PointerVal);
|
||||
|
||||
struct DescriptorAccess;
|
||||
|
||||
DOCUMENT(R"(References a particular individual binding element in a shader interface.
|
||||
DOCUMENT(R"(
|
||||
ShaderBindIndex()
|
||||
ShaderBindIndex(other: ShaderBindIndex)
|
||||
ShaderBindIndex(category: DescriptorCategory, index: int)
|
||||
ShaderBindIndex(category: DescriptorCategory, index: int, arrayElement: int)
|
||||
ShaderBindIndex(access: DescriptorAccess)
|
||||
|
||||
References a particular individual binding element in a shader interface.
|
||||
|
||||
This is the shader interface side of a :class:`DescriptorAccess` and so can be compared to one to
|
||||
check if an access refers to a given index or not.
|
||||
@@ -137,8 +149,13 @@ identifies the particular array index being referred to.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderBindIndex);
|
||||
|
||||
DOCUMENT(R"(References a particular resource accessed via the shader using direct heap access (as opposed to a direct binding).
|
||||
DOCUMENT(R"(
|
||||
ShaderDirectAccess()
|
||||
ShaderDirectAccess(other: ShaderDirectAccess)
|
||||
ShaderDirectAccess(category: DescriptorCategory, index: int)
|
||||
ShaderDirectAccess(type: DescriptorType, descriptorStore: ResourceId, byteOffset: int, byteSize: int)
|
||||
|
||||
References a particular resource accessed via the shader using direct heap access (as opposed to a direct binding).
|
||||
)");
|
||||
struct ShaderDirectAccess
|
||||
{
|
||||
@@ -232,7 +249,12 @@ private:
|
||||
};
|
||||
DECLARE_STRINGISE_TYPE(rdhalf);
|
||||
|
||||
DOCUMENT("A C union that holds 16 values, with each different basic variable type.");
|
||||
DOCUMENT(R"(
|
||||
ShaderValue()
|
||||
ShaderValue(other: ShaderValue)
|
||||
|
||||
A C union that holds 16 values, with each different basic variable type.
|
||||
)");
|
||||
union ShaderValue
|
||||
{
|
||||
DOCUMENT(R"(16-tuple of ``float`` values.
|
||||
@@ -302,7 +324,13 @@ union ShaderValue
|
||||
rdcfixedarray<int8_t, 16> s8v;
|
||||
};
|
||||
|
||||
DOCUMENT(R"(Holds a single named shader variable. It contains either a primitive type (up to a 4x4
|
||||
DOCUMENT(R"(
|
||||
ShaderVariable()
|
||||
ShaderVariable(other: ShaderVariable)
|
||||
ShaderVariable(name: str, x: float, y: float, z: float, w: float)
|
||||
ShaderVariable(name: str, x: int, y: int, z: int, w: int)
|
||||
|
||||
Holds a single named shader variable. It contains either a primitive type (up to a 4x4
|
||||
matrix of a :class:`basic type <VarType>`) or a list of members, which can either be struct or array
|
||||
members of this parent variable.
|
||||
|
||||
@@ -564,8 +592,13 @@ The :class:`ShaderDirectAccess` uniquely refers to a resource descriptor.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderVariable);
|
||||
|
||||
DOCUMENT(
|
||||
"A particular component of a debugging variable that a high-level variable component maps to");
|
||||
DOCUMENT(R"(
|
||||
DebugVariableReference()
|
||||
DebugVariableReference(other: DebugVariableReference)
|
||||
DebugVariableReference(type: DebugVariableType, name: str, component: int)
|
||||
|
||||
A particular component of a debugging variable that a high-level variable component maps to
|
||||
)");
|
||||
struct DebugVariableReference
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -616,7 +649,11 @@ struct DebugVariableReference
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DebugVariableReference);
|
||||
|
||||
DOCUMENT(R"(Maps the contents of a high-level source variable to one or more shader variables in a
|
||||
DOCUMENT(R"(
|
||||
SourceVariableMapping()
|
||||
SourceVariableMapping(other: SourceVariableMapping)
|
||||
|
||||
Maps the contents of a high-level source variable to one or more shader variables in a
|
||||
:class:`ShaderDebugState`, with type information.
|
||||
|
||||
A single high-level variable may be represented by multiple mappings but only along regular
|
||||
@@ -723,7 +760,12 @@ space.
|
||||
};
|
||||
DECLARE_REFLECTION_STRUCT(SourceVariableMapping);
|
||||
|
||||
DOCUMENT("Details the current region of code that an instruction maps to");
|
||||
DOCUMENT(R"(
|
||||
LineColumnInfo()
|
||||
LineColumnInfo(other: LineColumnInfo)
|
||||
|
||||
Details the current region of code that an instruction maps to.
|
||||
)");
|
||||
struct LineColumnInfo
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -810,7 +852,11 @@ treated as covering the code.
|
||||
};
|
||||
DECLARE_REFLECTION_STRUCT(LineColumnInfo);
|
||||
|
||||
DOCUMENT(R"(Gives per-instruction source code mapping information, including what line(s) correspond
|
||||
DOCUMENT(R"(
|
||||
InstructionSourceInfo()
|
||||
InstructionSourceInfo(other: InstructionSourceInfo)
|
||||
|
||||
Gives per-instruction source code mapping information, including what line(s) correspond
|
||||
to this instruction and which source variables exist
|
||||
)");
|
||||
struct InstructionSourceInfo
|
||||
@@ -847,7 +893,12 @@ instruction.
|
||||
};
|
||||
DECLARE_REFLECTION_STRUCT(InstructionSourceInfo);
|
||||
|
||||
DOCUMENT("This stores the before and after state of a :class:`ShaderVariable`.");
|
||||
DOCUMENT(R"(
|
||||
ShaderVariableChange()
|
||||
ShaderVariableChange(other: ShaderVariableChange)
|
||||
|
||||
This stores the before and after state of a :class:`ShaderVariable`.
|
||||
)");
|
||||
struct ShaderVariableChange
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -888,7 +939,11 @@ means the variable stopped existing on this step.
|
||||
};
|
||||
DECLARE_REFLECTION_STRUCT(ShaderVariableChange);
|
||||
|
||||
DOCUMENT(R"(This stores the current state of shader debugging at one particular step in the shader,
|
||||
DOCUMENT(R"(
|
||||
ShaderDebugState()
|
||||
ShaderDebugState(other: ShaderDebugState)
|
||||
|
||||
This stores the current state of shader debugging at one particular step in the shader,
|
||||
with all mutable variable contents.
|
||||
)");
|
||||
struct ShaderDebugState
|
||||
@@ -974,17 +1029,28 @@ public:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderDebugger);
|
||||
|
||||
DOCUMENT(R"(This stores the whole state of a shader's execution from start to finish, with each
|
||||
DOCUMENT(R"(
|
||||
This stores the whole state of a shader's execution from start to finish, with each
|
||||
individual debugging step along the way, as well as the immutable global constant values that do not
|
||||
change with shader execution.
|
||||
)");
|
||||
struct ShaderDebugTrace
|
||||
{
|
||||
// do not allow swig to create/copy traces
|
||||
#if defined(SWIG)
|
||||
protected:
|
||||
DOCUMENT("");
|
||||
ShaderDebugTrace() = default;
|
||||
ShaderDebugTrace(const ShaderDebugTrace &) = default;
|
||||
ShaderDebugTrace &operator=(const ShaderDebugTrace &) = default;
|
||||
|
||||
public:
|
||||
#else
|
||||
ShaderDebugTrace() = default;
|
||||
ShaderDebugTrace(const ShaderDebugTrace &) = default;
|
||||
ShaderDebugTrace &operator=(const ShaderDebugTrace &) = default;
|
||||
#endif
|
||||
|
||||
DOCUMENT(R"(The shader stage being debugged in this trace
|
||||
|
||||
:type: ShaderStage
|
||||
@@ -1077,7 +1143,11 @@ per-instruction information such as source line mapping, and source variables.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderDebugTrace);
|
||||
|
||||
DOCUMENT(R"(The information describing an input or output signature element describing the interface
|
||||
DOCUMENT(R"(
|
||||
SigParameter()
|
||||
SigParameter(other: SigParameter)
|
||||
|
||||
The information describing an input or output signature element describing the interface
|
||||
between shader stages.
|
||||
|
||||
.. data:: NoIndex
|
||||
@@ -1213,7 +1283,12 @@ DECLARE_REFLECTION_STRUCT(SigParameter);
|
||||
|
||||
struct ShaderConstant;
|
||||
|
||||
DOCUMENT("Describes the type and members of a :class:`ShaderConstant`.");
|
||||
DOCUMENT(R"(
|
||||
ShaderConstantType()
|
||||
ShaderConstantType(other: ShaderConstantType)
|
||||
|
||||
Describes the type and members of a :class:`ShaderConstant`.
|
||||
)");
|
||||
struct ShaderConstantType
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1329,7 +1404,11 @@ manually, but since it is common this helper is provided.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderConstantType);
|
||||
|
||||
DOCUMENT(R"(Contains the detail of a constant within a struct, such as a :class:`ConstantBlock`,
|
||||
DOCUMENT(R"(
|
||||
ShaderConstant()
|
||||
ShaderConstant(other: ShaderConstant)
|
||||
|
||||
Contains the detail of a constant within a struct, such as a :class:`ConstantBlock`,
|
||||
with its type and relative location in memory.
|
||||
)");
|
||||
struct ShaderConstant
|
||||
@@ -1413,7 +1492,11 @@ packing.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderConstant);
|
||||
|
||||
DOCUMENT(R"(Contains the information for a block of constant values. The values are not present,
|
||||
DOCUMENT(R"(
|
||||
ConstantBlock()
|
||||
ConstantBlock(other: ConstantBlock)
|
||||
|
||||
Contains the information for a block of constant values. The values are not present,
|
||||
only the metadata about how the variables are stored in memory itself and their type/name
|
||||
information.
|
||||
)");
|
||||
@@ -1530,7 +1613,11 @@ specialisation constants.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ConstantBlock);
|
||||
|
||||
DOCUMENT(R"(Contains the information for a separate sampler in a shader. If the API doesn't have
|
||||
DOCUMENT(R"(
|
||||
ShaderSampler()
|
||||
ShaderSampler(other: ShaderSampler)
|
||||
|
||||
Contains the information for a separate sampler in a shader. If the API doesn't have
|
||||
the concept of separate samplers, this struct will be unused and only :class:`ShaderResource` is
|
||||
relevant.
|
||||
|
||||
@@ -1610,7 +1697,11 @@ This value may be set to a very large number if the array is unbounded in the sh
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderSampler);
|
||||
|
||||
DOCUMENT(R"(Contains the information for a shader resource that is made accessible to shaders
|
||||
DOCUMENT(R"(
|
||||
ShaderResource()
|
||||
ShaderResource(other: ShaderResource)
|
||||
|
||||
Contains the information for a shader resource that is made accessible to shaders
|
||||
directly by means of the API resource binding system.
|
||||
|
||||
.. note:: that constant blocks and samplers will not have a shader resource entry, see
|
||||
@@ -1741,7 +1832,13 @@ able to be read from and written to arbitrarily.
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderResource);
|
||||
|
||||
DOCUMENT("Describes an entry point in a shader.");
|
||||
DOCUMENT(R"(
|
||||
ShaderEntryPoint()
|
||||
ShaderEntryPoint(other: ShaderEntryPoint)
|
||||
ShaderEntryPoint(name: str, stage: ShaderStage)
|
||||
|
||||
Describes an entry point in a shader.
|
||||
)");
|
||||
struct ShaderEntryPoint
|
||||
{
|
||||
ShaderEntryPoint() = default;
|
||||
@@ -1773,7 +1870,12 @@ struct ShaderEntryPoint
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderEntryPoint);
|
||||
|
||||
DOCUMENT("Contains a single flag used at compile-time on a shader.");
|
||||
DOCUMENT(R"(
|
||||
ShaderCompileFlag()
|
||||
ShaderCompileFlag(other: ShaderCompileFlag)
|
||||
|
||||
Contains a single flag used at compile-time on a shader.
|
||||
)");
|
||||
struct ShaderCompileFlag
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1805,7 +1907,12 @@ struct ShaderCompileFlag
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderCompileFlag);
|
||||
|
||||
DOCUMENT("Contains the information about the compilation environment of a shader");
|
||||
DOCUMENT(R"(
|
||||
ShaderCompileFlags()
|
||||
ShaderCompileFlags(other: ShaderCompileFlags)
|
||||
|
||||
Contains the information about the compilation environment of a shader
|
||||
)");
|
||||
struct ShaderCompileFlags
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1822,7 +1929,12 @@ struct ShaderCompileFlags
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderCompileFlags);
|
||||
|
||||
DOCUMENT("Contains the source prefix to add to a given type of shader source");
|
||||
DOCUMENT(R"(
|
||||
ShaderSourcePrefix()
|
||||
ShaderSourcePrefix(other: ShaderSourcePrefix)
|
||||
|
||||
Contains the source prefix to add to a given type of shader source
|
||||
)");
|
||||
struct ShaderSourcePrefix
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1857,7 +1969,12 @@ struct ShaderSourcePrefix
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderSourcePrefix);
|
||||
|
||||
DOCUMENT("Contains a source file available in a debug-compiled shader.");
|
||||
DOCUMENT(R"(
|
||||
ShaderSourceFile()
|
||||
ShaderSourceFile(other: ShaderSourceFile)
|
||||
|
||||
Contains a source file available in a debug-compiled shader.
|
||||
)");
|
||||
struct ShaderSourceFile
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1892,7 +2009,11 @@ struct ShaderSourceFile
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(ShaderSourceFile);
|
||||
|
||||
DOCUMENT(R"(Contains the information about a shader contained within API-specific debugging
|
||||
DOCUMENT(R"(
|
||||
ShaderDebugInfo()
|
||||
ShaderDebugInfo(other: ShaderDebugInfo)
|
||||
|
||||
Contains the information about a shader contained within API-specific debugging
|
||||
information attached to the shader.
|
||||
|
||||
Primarily this means the embedded original source files.
|
||||
@@ -1992,10 +2113,21 @@ The information in this structure is API agnostic.
|
||||
)");
|
||||
struct ShaderReflection
|
||||
{
|
||||
// do not allow swig to create/copy shader reflections
|
||||
#if defined(SWIG)
|
||||
protected:
|
||||
DOCUMENT("");
|
||||
ShaderDebugTrace() = default;
|
||||
ShaderDebugTrace(const ShaderDebugTrace &) = default;
|
||||
ShaderDebugTrace &operator=(const ShaderDebugTrace &) = default;
|
||||
|
||||
public:
|
||||
#else
|
||||
DOCUMENT("");
|
||||
ShaderReflection() = default;
|
||||
ShaderReflection(const ShaderReflection &) = default;
|
||||
ShaderReflection &operator=(const ShaderReflection &) = default;
|
||||
#endif
|
||||
|
||||
DOCUMENT(R"(The :class:`ResourceId` of this shader.
|
||||
|
||||
|
||||
@@ -292,7 +292,12 @@ protected:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(SDType);
|
||||
|
||||
DOCUMENT("The metadata that goes along with a :class:`SDChunk` to detail how it was recorded.");
|
||||
DOCUMENT(R"(
|
||||
SDChunkMetaData()
|
||||
SDChunkMetaData(other: SDChunkMetaData)
|
||||
|
||||
The metadata that goes along with a :class:`SDChunk` to detail how it was recorded.
|
||||
)");
|
||||
struct SDChunkMetaData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -500,7 +505,11 @@ struct LazyArrayData
|
||||
};
|
||||
#endif
|
||||
|
||||
DOCUMENT(R"(Defines a single structured object. Structured objects are defined recursively and one
|
||||
DOCUMENT(R"(
|
||||
SDObject()
|
||||
SDObject(name: str, typeName: str)
|
||||
|
||||
Defines a single structured object. Structured objects are defined recursively and one
|
||||
object can either be a basic type (integer, float, etc), an array, or a struct. Arrays and structs
|
||||
are defined similarly.
|
||||
|
||||
@@ -1569,7 +1578,11 @@ SDOBJECT_MAKER(ResourceId, makeSDResourceId);
|
||||
|
||||
#endif
|
||||
|
||||
DOCUMENT("Defines a single structured chunk, which is a :class:`SDObject`.");
|
||||
DOCUMENT(R"(
|
||||
SDChunk()
|
||||
|
||||
Defines a single structured chunk, which is a :class:`SDObject`.
|
||||
)");
|
||||
struct SDChunk : public SDObject
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////
|
||||
@@ -1709,7 +1722,11 @@ private:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(StructuredBufferList);
|
||||
|
||||
DOCUMENT("Contains the structured information in a file. Owns the buffers and chunks.");
|
||||
DOCUMENT(R"(
|
||||
SDFile()
|
||||
|
||||
Contains the structured information in a file. Owns the buffers and chunks.
|
||||
)");
|
||||
struct SDFile
|
||||
{
|
||||
private:
|
||||
|
||||
@@ -28,7 +28,12 @@
|
||||
|
||||
namespace VKPipe
|
||||
{
|
||||
DOCUMENT("A dynamic offset applied to a single descriptor access.");
|
||||
DOCUMENT(R"(
|
||||
VKDynamicOffset()
|
||||
VKDynamicOffset(other: VKDynamicOffset)
|
||||
|
||||
A dynamic offset applied to a single descriptor access.
|
||||
)");
|
||||
struct DynamicOffset
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -61,7 +66,12 @@ struct DynamicOffset
|
||||
uint64_t dynamicBufferByteOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("The contents of a descriptor set.");
|
||||
DOCUMENT(R"(
|
||||
VKDescriptorSet()
|
||||
VKDescriptorSet(other: VKDescriptorSet)
|
||||
|
||||
The contents of a descriptor set.
|
||||
)");
|
||||
struct DescriptorSet
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -136,7 +146,12 @@ of their descriptors.
|
||||
bool descriptorBufferEmbeddedSamplers = false;
|
||||
};
|
||||
|
||||
DOCUMENT("A single descriptor buffer binding.");
|
||||
DOCUMENT(R"(
|
||||
VKDescriptorBuffer()
|
||||
VKDescriptorBuffer(other: VKDescriptorBuffer)
|
||||
|
||||
A single descriptor buffer binding.
|
||||
)");
|
||||
struct DescriptorBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -204,7 +219,12 @@ struct DescriptorBuffer
|
||||
bool samplerBuffer = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the object and descriptor set bindings of a Vulkan pipeline object.");
|
||||
DOCUMENT(R"(
|
||||
VKPipeline()
|
||||
VKPipeline(other: VKPipeline)
|
||||
|
||||
Describes the object and descriptor set bindings of a Vulkan pipeline object.
|
||||
)");
|
||||
struct Pipeline
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -255,7 +275,12 @@ When not using pipeline libraries, this will be identical to :data:`pipelinePreR
|
||||
rdcarray<DescriptorBuffer> descriptorBuffers;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the Vulkan index buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
VKIndexBuffer()
|
||||
VKIndexBuffer(other: VKIndexBuffer)
|
||||
|
||||
Describes the Vulkan index buffer binding.
|
||||
)")
|
||||
struct IndexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -289,7 +314,12 @@ it can be 0 if no index buffer is bound.
|
||||
uint32_t byteStride = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the vulkan input assembly configuration.");
|
||||
DOCUMENT(R"(
|
||||
VKInputAssembly()
|
||||
VKInputAssembly(other: VKInputAssembly)
|
||||
|
||||
Describes the vulkan input assembly configuration.
|
||||
)");
|
||||
struct InputAssembly
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -316,7 +346,12 @@ struct InputAssembly
|
||||
Topology topology = Topology::Unknown;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the configuration of a single vertex attribute.");
|
||||
DOCUMENT(R"(
|
||||
VKVertexAttribute()
|
||||
VKVertexAttribute(other: VKVertexAttribute)
|
||||
|
||||
Describes the configuration of a single vertex attribute.
|
||||
)");
|
||||
struct VertexAttribute
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -363,7 +398,12 @@ struct VertexAttribute
|
||||
uint32_t byteOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a vertex binding.");
|
||||
DOCUMENT(R"(
|
||||
VKVertexBinding()
|
||||
VKVertexBinding(other: VKVertexBinding)
|
||||
|
||||
Describes a vertex binding.
|
||||
)");
|
||||
struct VertexBinding
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -408,7 +448,12 @@ If it's ``1`` then one element is read for each instance, and for ``N`` greater
|
||||
uint32_t instanceDivisor = 1;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a single Vulkan vertex buffer binding.")
|
||||
DOCUMENT(R"(
|
||||
VKVertexBuffer()
|
||||
VKVertexBuffer(other: VKVertexBuffer)
|
||||
|
||||
Describes a single Vulkan vertex buffer binding.
|
||||
)")
|
||||
struct VertexBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -455,7 +500,12 @@ struct VertexBuffer
|
||||
uint32_t byteSize = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the fixed-function vertex input fetch setup.");
|
||||
DOCUMENT(R"(
|
||||
VKVertexInput()
|
||||
VKVertexInput(other: VKVertexInput)
|
||||
|
||||
Describes the fixed-function vertex input fetch setup.
|
||||
)");
|
||||
struct VertexInput
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -480,7 +530,12 @@ struct VertexInput
|
||||
rdcarray<VertexBuffer> vertexBuffers;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a Vulkan shader stage.");
|
||||
DOCUMENT(R"(
|
||||
VKShader()
|
||||
VKShader(other: VKShader)
|
||||
|
||||
Describes a Vulkan shader stage.
|
||||
)");
|
||||
struct Shader
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -552,7 +607,12 @@ and size into specializationData can be obtained from the reflection info.
|
||||
bool shaderObject = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the state of the fixed-function tessellator.");
|
||||
DOCUMENT(R"(
|
||||
VKTessellation()
|
||||
VKTessellation(other: VKTessellation)
|
||||
|
||||
Describes the state of the fixed-function tessellator.
|
||||
)");
|
||||
struct Tessellation
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -573,7 +633,12 @@ struct Tessellation
|
||||
bool domainOriginUpperLeft = true;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a single transform feedback binding.");
|
||||
DOCUMENT(R"(
|
||||
VKXFBBuffer()
|
||||
VKXFBBuffer(other: VKXFBBuffer)
|
||||
|
||||
Describes a single transform feedback binding.
|
||||
)");
|
||||
struct XFBBuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -642,7 +707,12 @@ struct XFBBuffer
|
||||
uint64_t counterBufferOffset = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the state of the fixed-function transform feedback.");
|
||||
DOCUMENT(R"(
|
||||
VKTransformFeedback()
|
||||
VKTransformFeedback(other: VKTransformFeedback)
|
||||
|
||||
Describes the state of the fixed-function transform feedback.
|
||||
)");
|
||||
struct TransformFeedback
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -663,7 +733,12 @@ struct TransformFeedback
|
||||
uint32_t rasterizedStream = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a render area in the current framebuffer.");
|
||||
DOCUMENT(R"(
|
||||
VKRenderArea()
|
||||
VKRenderArea(other: VKRenderArea)
|
||||
|
||||
Describes a render area in the current framebuffer.
|
||||
)");
|
||||
struct RenderArea
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -709,7 +784,12 @@ struct RenderArea
|
||||
int32_t height = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a combined viewport and scissor region.");
|
||||
DOCUMENT(R"(
|
||||
VKViewportScissor()
|
||||
VKViewportScissor(other: VKViewportScissor)
|
||||
|
||||
Describes a combined viewport and scissor region.
|
||||
)");
|
||||
struct ViewportScissor
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -738,7 +818,12 @@ struct ViewportScissor
|
||||
Scissor scissor;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the view state in the pipeline.");
|
||||
DOCUMENT(R"(
|
||||
VKViewState()
|
||||
VKViewState(other: VKViewState)
|
||||
|
||||
Describes the view state in the pipeline.
|
||||
)");
|
||||
struct ViewState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -779,7 +864,12 @@ and a fragment in none of them is discarded.
|
||||
bool depthNegativeOneToOne = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the rasterizer state in the pipeline.");
|
||||
DOCUMENT(R"(
|
||||
VKRasterizer()
|
||||
VKRasterizer(other: VKRasterizer)
|
||||
|
||||
Describes the rasterizer state in the pipeline.
|
||||
)");
|
||||
struct Rasterizer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -937,7 +1027,12 @@ shading rate sampled from the fragment shading rate attachment.
|
||||
ShadingRateCombiner::Keep, ShadingRateCombiner::Keep};
|
||||
};
|
||||
|
||||
DOCUMENT("Describes state of custom sample locations in the pipeline.");
|
||||
DOCUMENT(R"(
|
||||
VKSampleLocations()
|
||||
VKSampleLocations(other: VKSampleLocations)
|
||||
|
||||
Describes state of custom sample locations in the pipeline.
|
||||
)");
|
||||
struct SampleLocations
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -964,7 +1059,12 @@ If the list is empty then the standard sample pattern is in use.
|
||||
rdcarray<FloatVector> customLocations;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the multisampling state in the pipeline.");
|
||||
DOCUMENT(R"(
|
||||
VKMultiSample()
|
||||
VKMultiSample(other: VKMultiSample)
|
||||
|
||||
Describes the multisampling state in the pipeline.
|
||||
)");
|
||||
struct MultiSample
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -999,7 +1099,12 @@ struct MultiSample
|
||||
SampleLocations sampleLocations;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the pipeline blending state.");
|
||||
DOCUMENT(R"(
|
||||
VKColorBlendState()
|
||||
VKColorBlendState(other: VKColorBlendState)
|
||||
|
||||
Describes the pipeline blending state.
|
||||
)");
|
||||
struct ColorBlendState
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1031,7 +1136,12 @@ struct ColorBlendState
|
||||
rdcfixedarray<float, 4> blendFactor = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the pipeline depth-stencil state.");
|
||||
DOCUMENT(R"(
|
||||
VKDepthStencil()
|
||||
VKDepthStencil(other: VKDepthStencil)
|
||||
|
||||
Describes the pipeline depth-stencil state.
|
||||
)");
|
||||
struct DepthStencil
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1090,7 +1200,11 @@ struct DepthStencil
|
||||
float maxDepthBounds = 0.0f;
|
||||
};
|
||||
|
||||
DOCUMENT(R"(Describes the setup of a renderpass and subpasses.
|
||||
DOCUMENT(R"(
|
||||
VKRenderPass()
|
||||
VKRenderPass(other: VKRenderPass)
|
||||
|
||||
Describes the setup of a renderpass and subpasses.
|
||||
|
||||
.. data:: AttachmentUnused
|
||||
|
||||
@@ -1272,7 +1386,12 @@ If the subpass is not internally multisampled, tileOnlyMSAASampleCount is set to
|
||||
static const uint32_t AttachmentUnused = ~0U;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes a framebuffer object and its attachments.");
|
||||
DOCUMENT(R"(
|
||||
VKFramebuffer()
|
||||
VKFramebuffer(other: VKFramebuffer)
|
||||
|
||||
Describes a framebuffer object and its attachments.
|
||||
)");
|
||||
struct Framebuffer
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1309,7 +1428,12 @@ struct Framebuffer
|
||||
uint32_t layers = 0;
|
||||
};
|
||||
|
||||
DOCUMENT("Describes the current pass instance at the current time.");
|
||||
DOCUMENT(R"(
|
||||
VKCurrentPass()
|
||||
VKCurrentPass(other: VKCurrentPass)
|
||||
|
||||
Describes the current pass instance at the current time.
|
||||
)");
|
||||
struct CurrentPass
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1352,7 +1476,12 @@ struct CurrentPass
|
||||
bool stencilFeedbackAllowed = false;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the layout of a range of subresources in an image.");
|
||||
DOCUMENT(R"(
|
||||
VKImageLayout()
|
||||
VKImageLayout(other: VKImageLayout)
|
||||
|
||||
Contains the layout of a range of subresources in an image.
|
||||
)");
|
||||
struct ImageLayout
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1406,7 +1535,12 @@ struct ImageLayout
|
||||
rdcstr name;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the current layout of all subresources in the image.");
|
||||
DOCUMENT(R"(
|
||||
VKImageData()
|
||||
VKImageData(other: VKImageData)
|
||||
|
||||
Contains the current layout of all subresources in the image.
|
||||
)");
|
||||
struct ImageData
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1434,7 +1568,12 @@ struct ImageData
|
||||
rdcarray<ImageLayout> layouts;
|
||||
};
|
||||
|
||||
DOCUMENT("Contains the current conditional rendering state.");
|
||||
DOCUMENT(R"(
|
||||
VKConditionalRendering()
|
||||
VKConditionalRendering(other: VKConditionalRendering)
|
||||
|
||||
Contains the current conditional rendering state.
|
||||
)");
|
||||
struct ConditionalRendering
|
||||
{
|
||||
DOCUMENT("");
|
||||
@@ -1467,7 +1606,9 @@ struct ConditionalRendering
|
||||
bool isPassing = false;
|
||||
};
|
||||
|
||||
DOCUMENT("The full current Vulkan pipeline state.");
|
||||
DOCUMENT(R"(
|
||||
The full current Vulkan pipeline state.
|
||||
)");
|
||||
struct State
|
||||
{
|
||||
#if !defined(RENDERDOC_EXPORTS)
|
||||
|
||||
Reference in New Issue
Block a user