diff options
| author | Tobin Ehlis <tobin@lunarg.com> | 2014-10-06 09:07:53 -0600 |
|---|---|---|
| committer | Tobin Ehlis <tobin@lunarg.com> | 2014-10-06 09:18:01 -0600 |
| commit | 34fa2b5e17d925ac546c63dc45fe92aa10cfe556 (patch) | |
| tree | b9b74cf1a541826e17830f69bbfdf879d8c51fc1 /docs | |
| parent | 7ee7d5ac535586dbafd886cf15ece5826f7ee321 (diff) | |
| download | usermoji-34fa2b5e17d925ac546c63dc45fe92aa10cfe556.tar.xz | |
Added graphiviz dot and png files to visualize some API details
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/xgl_ds.dot | 180 | ||||
| -rw-r--r-- | docs/xgl_ds.png | bin | 0 -> 858990 bytes | |||
| -rw-r--r-- | docs/xgl_full_pipeline_ds.dot | 282 | ||||
| -rw-r--r-- | docs/xgl_full_pipeline_ds.png | bin | 0 -> 1209173 bytes | |||
| -rw-r--r-- | docs/xgl_graphics_pipeline.dot | 105 | ||||
| -rw-r--r-- | docs/xgl_graphics_pipeline.png | bin | 0 -> 657320 bytes |
6 files changed, 567 insertions, 0 deletions
diff --git a/docs/xgl_ds.dot b/docs/xgl_ds.dot new file mode 100644 index 00000000..befb0e45 --- /dev/null +++ b/docs/xgl_ds.dot @@ -0,0 +1,180 @@ +digraph g { +graph [ +rankdir = "LR" +]; +node [ +fontsize = "16" +shape = "plaintext" +]; +edge [ +]; +subgraph clusterDSCreate1 +{ +label="xglCreateDescriptorSet()" +"_XGL_DESCRIPTOR_SET_CREATE_INFO1" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR><TR><TD PORT="f3">XGL_UINT</TD><TD PORT="f4">slots=14</TD></TR></TABLE>> +]; +} +subgraph clusterDSCreate2 +{ +label="xglCreateDescriptorSet()" +"_XGL_DESCRIPTOR_SET_CREATE_INFO2" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR><TR><TD PORT="f3">XGL_UINT</TD><TD PORT="f4">slots=20</TD></TR></TABLE>> +]; +} +subgraph clusterSamplerCreate +{ +label="xglCreateSampler - multiple calls return unique XGL_SAMPLER handles" +"_XGL_SAMPLER_CREATE_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f3">const XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_TEX_FILTER</TD><TD PORT="f6">magFilter</TD></TR><TR><TD PORT="f7">XGL_TEX_FILTER</TD><TD PORT="f8">minFilter</TD></TR><TR><TD PORT="f9">XGL_TEX_MIPMAP_MODE</TD><TD PORT="f10">mipMode</TD></TR><TR><TD PORT="f11">XGL_TEX_ADDRESS</TD><TD PORT="f12">addressU</TD></TR><TR><TD PORT="f13">XGL_TEX_ADDRESS</TD><TD PORT="f14">addressV</TD></TR><TR><TD PORT="f15">XGL_TEX_ADDRESS</TD><TD PORT="f16">addressW</TD></TR><TR><TD PORT="f17">XGL_FLOAT</TD><TD PORT="f18">mipLodBias</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">maxAnisotropy</TD></TR><TR><TD PORT="f21">XGL_COMPARE_FUNC</TD><TD PORT="f22">compareFunc</TD></TR><TR><TD PORT="f23">XGL_FLOAT</TD><TD PORT="f24">minLod</TD></TR><TR><TD PORT="f25">XGL_FLOAT</TD><TD PORT="f26">maxLod</TD></TR><TR><TD PORT="f27">XGL_BORDER_COLOR_TYPE</TD><TD PORT="f28">borderColorType</TD></TR></TABLE>> +]; +"SAMPLER_ELLIPSES" [ +label = "..." +]; +"_XGL_SAMPLER_CREATE_INFO_19" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f3">const XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_TEX_FILTER</TD><TD PORT="f6">magFilter</TD></TR><TR><TD PORT="f7">XGL_TEX_FILTER</TD><TD PORT="f8">minFilter</TD></TR><TR><TD PORT="f9">XGL_TEX_MIPMAP_MODE</TD><TD PORT="f10">mipMode</TD></TR><TR><TD PORT="f11">XGL_TEX_ADDRESS</TD><TD PORT="f12">addressU</TD></TR><TR><TD PORT="f13">XGL_TEX_ADDRESS</TD><TD PORT="f14">addressV</TD></TR><TR><TD PORT="f15">XGL_TEX_ADDRESS</TD><TD PORT="f16">addressW</TD></TR><TR><TD PORT="f17">XGL_FLOAT</TD><TD PORT="f18">mipLodBias</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">maxAnisotropy</TD></TR><TR><TD PORT="f21">XGL_COMPARE_FUNC</TD><TD PORT="f22">compareFunc</TD></TR><TR><TD PORT="f23">XGL_FLOAT</TD><TD PORT="f24">minLod</TD></TR><TR><TD PORT="f25">XGL_FLOAT</TD><TD PORT="f26">maxLod</TD></TR><TR><TD PORT="f27">XGL_BORDER_COLOR_TYPE</TD><TD PORT="f28">borderColorType</TD></TR></TABLE>> +]; +} +subgraph clusterSamplerAttach +{ +label="xglAttachSamplerDescriptors\npSamplers array of XGL_SAMPLERS" +"SAMPLER_ARRAY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="pSamp">pSamplers</TD></TR><TR><TD PORT="f0">XGL_SAMPLER0</TD></TR><TR><TD PORT="f1">XGL_SAMPLER1</TD></TR><TR><TD PORT="f2">XGL_SAMPLER2</TD></TR><TR><TD PORT="f3">XGL_SAMPLER3</TD></TR><TR><TD PORT="f4">XGL_SAMPLER4</TD></TR><TR><TD PORT="f5">XGL_SAMPLER5</TD></TR><TR><TD PORT="f6">XGL_SAMPLER6</TD></TR><TR><TD PORT="f7">XGL_SAMPLER7</TD></TR><TR><TD PORT="f8">XGL_SAMPLER8</TD></TR><TR><TD PORT="f9">XGL_SAMPLER9</TD></TR><TR><TD PORT="f10">XGL_SAMPLER10</TD></TR><TR><TD PORT="f11">XGL_SAMPLER11</TD></TR><TR><TD PORT="f12">XGL_SAMPLER12</TD></TR><TR><TD PORT="f13">XGL_SAMPLER13</TD></TR><TR><TD PORT="f14">XGL_SAMPLER14</TD></TR><TR><TD PORT="f15">XGL_SAMPLER15</TD></TR><TR><TD PORT="f16">XGL_SAMPLER16</TD></TR><TR><TD PORT="f17">XGL_SAMPLER17</TD></TR><TR><TD PORT="f18">XGL_SAMPLER18</TD></TR><TR><TD PORT="f19">XGL_SAMPLER19</TD></TR></TABLE>> +]; +} +"DS1_MEMORY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="ds1">DS1 Memory</TD></TR><TR><TD PORT="f0">slot0</TD></TR><TR><TD PORT="f1">slot1</TD></TR><TR><TD PORT="f2">slots2</TD></TR><TR><TD PORT="f3">slots3</TD></TR><TR><TD PORT="f4">slots4</TD></TR><TR><TD PORT="f5">slots5</TD></TR><TR><TD PORT="f6">slots6</TD></TR><TR><TD PORT="f7">slots7</TD></TR><TR><TD PORT="f8">slots8</TD></TR><TR><TD PORT="f9">slots9</TD></TR><TR><TD PORT="f10">slots10</TD></TR><TR><TD PORT="f11">slots11</TD></TR><TR><TD PORT="f12">slots12</TD></TR><TR><TD PORT="f13">slot13</TD></TR></TABLE>> +]; +"DS2_MEMORY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="ds2">DS2 Memory</TD></TR><TR><TD PORT="f0">slot0</TD></TR><TR><TD PORT="f1">slot1</TD></TR><TR><TD PORT="f2">slots2</TD></TR><TR><TD PORT="f3">slots3</TD></TR><TR><TD PORT="f4">slots4</TD></TR><TR><TD PORT="f5">slots5</TD></TR><TR><TD PORT="f6">slots6</TD></TR><TR><TD PORT="f7">slots7</TD></TR><TR><TD PORT="f8">slots8</TD></TR><TR><TD PORT="f9">slots9</TD></TR><TR><TD PORT="f10">slots10</TD></TR><TR><TD PORT="f11">slots11</TD></TR><TR><TD PORT="f12">slots12</TD></TR><TR><TD PORT="f13">slot13</TD></TR><TR><TD PORT="f14">slots14</TD></TR><TR><TD PORT="f15">slots15</TD></TR><TR><TD PORT="f16">slots16</TD></TR><TR><TD PORT="f17">slots17</TD></TR><TR><TD PORT="f18">slots18</TD></TR><TR><TD PORT="f19">slots19</TD></TR></TABLE>> +]; +subgraph clusterMemoryView +{ +label="xglAttachMemoryViewDescriptors - pMemViews array of XGL_MEMORY_VIEW_ATTACH_INFO structs" +"_XGL_MEMORY_VIEW_ATTACH_INFO_3" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_GPU_MEMORY</TD><TD PORT="f6">mem</TD></TR><TR><TD PORT="f7">XGL_GPU_SIZE</TD><TD PORT="f8">offset</TD></TR><TR><TD PORT="f9">XGL_GPU_SIZE</TD><TD PORT="f10">range</TD></TR><TR><TD PORT="f11">XGL_GPU_SIZE</TD><TD PORT="f12">stride</TD></TR><TR><TD PORT="f13">XGL_FORMAT</TD><TD PORT="f14">format</TD></TR><TR><TD PORT="f15">XGL_MEMORY_STATE</TD><TD PORT="f16">state</TD></TR></TABLE>> +]; +"MEM_VIEW_ELLIPSES" [ +label = "..." +]; +"_XGL_MEMORY_VIEW_ATTACH_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_GPU_MEMORY</TD><TD PORT="f6">mem</TD></TR><TR><TD PORT="f7">XGL_GPU_SIZE</TD><TD PORT="f8">offset</TD></TR><TR><TD PORT="f9">XGL_GPU_SIZE</TD><TD PORT="f10">range</TD></TR><TR><TD PORT="f11">XGL_GPU_SIZE</TD><TD PORT="f12">stride</TD></TR><TR><TD PORT="f13">XGL_FORMAT</TD><TD PORT="f14">format</TD></TR><TR><TD PORT="f15">XGL_MEMORY_STATE</TD><TD PORT="f16">state</TD></TR></TABLE>> +]; +} +subgraph clusterImageView +{ +label="xglAttachImageViewDescriptors - pImageViews array of XGL_IMAGE_VIEW_ATTACH_INFO structs" +"_XGL_IMAGE_VIEW_ATTACH_INFO_9" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_IMAGE_VIEW</TD><TD PORT="f6">view</TD></TR><TR><TD PORT="f7">XGL_IMAGE_STATE</TD><TD PORT="f8">state</TD></TR></TABLE>> +]; +"IMG_VIEW_ELLIPSES" [ +label = "..." +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_IMAGE_VIEW</TD><TD PORT="f6">view</TD></TR><TR><TD PORT="f7">XGL_IMAGE_STATE</TD><TD PORT="f8">state</TD></TR></TABLE>> +]; +} +"VS_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=2</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR></TABLE>> +]; +"FS0_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=6</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_UNUSED</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_UNUSED</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR><TR><TD PORT="f12">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f13">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f11">2</TD></TR><TR><TD PORT="f14">XGL_UINT</TD><TD PORT="f15">shaderEntityIndex</TD></TR><TR><TD PORT="f17">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f18">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f16">3</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">shaderEntityIndex</TD></TR><TR><TD PORT="f22">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f23">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f21">4</TD></TR><TR><TD PORT="f24">XGL_UINT</TD><TD PORT="f25">shaderEntityIndex</TD></TR><TR><TD PORT="f27">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f28">XGL_SLOT_SHADER_UAV</TD><TD ROWSPAN="2" PORT="f26">5</TD></TR><TR><TD PORT="f29">XGL_UINT</TD><TD PORT="f30">shaderEntityIndex</TD></TR></TABLE>> +]; +"FS1_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=10</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR><TR><TD PORT="f12">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f13">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f11">2</TD></TR><TR><TD PORT="f14">XGL_UINT</TD><TD PORT="f15">shaderEntityIndex</TD></TR><TR><TD PORT="f17">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f18">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f16">3</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">shaderEntityIndex</TD></TR><TR><TD PORT="f22">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f23">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f21">4</TD></TR><TR><TD PORT="f24">XGL_UINT</TD><TD PORT="f25">shaderEntityIndex</TD></TR><TR><TD PORT="f27">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f28">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f26">5</TD></TR><TR><TD PORT="f29">XGL_UINT</TD><TD PORT="f30">shaderEntityIndex</TD></TR><TR><TD PORT="f32">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f33">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f31">6</TD></TR><TR><TD PORT="f34">XGL_UINT</TD><TD PORT="f35">shaderEntityIndex</TD></TR><TR><TD PORT="f37">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f38">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f36">7</TD></TR><TR><TD PORT="f39">XGL_UINT</TD><TD PORT="f40">shaderEntityIndex</TD></TR><TR><TD PORT="f42">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f43">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f41">8</TD></TR><TR><TD PORT="f44">XGL_UINT</TD><TD PORT="f45">shaderEntityIndex</TD></TR><TR><TD PORT="f47">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f48">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f46">9</TD></TR><TR><TD PORT="f49">XGL_UINT</TD><TD PORT="f50">shaderEntityIndex</TD></TR></TABLE>> +]; +/* +"_XGL_DESCRIPTOR_SET_CREATE_INFO1":f2 -> "_XGL_DESCRIPTOR_SET_CREATE_INFO2":f0 [ +id = 0 +]; +*/ +"_XGL_DESCRIPTOR_SET_CREATE_INFO1":f4 -> "DS1_MEMORY":ds1 [ +id = 1 +]; +"_XGL_DESCRIPTOR_SET_CREATE_INFO2":f4 -> "DS2_MEMORY":ds2 [ +id = 2 +]; +/* +"_XGL_SAMPLER_CREATE_INFO_0":f4 -> "_ELLIPSE0" [ +id = 3 +]; +"_ELLIPSE0" -> "_XGL_SAMPLER_CREATE_INFO_19":f0 [ +id = 3 +]; +*/ +"_XGL_SAMPLER_CREATE_INFO_0" -> "SAMPLER_ARRAY":f0 [ +id = 4 +]; +"_XGL_SAMPLER_CREATE_INFO_19" -> "SAMPLER_ARRAY":f19 [ +id = 5 +]; +"SAMPLER_ARRAY":f0 -> "DS2_MEMORY":f0 [ +id = 6 +]; +"SAMPLER_ARRAY":f19 -> "DS2_MEMORY":f19 [ +id = 7 +]; +/* +"_XGL_MEMORY_VIEW_ATTACH_INFO_0":f4 -> "_ELLIPSE1" [ +id = 6 +]; +"_ELLIPSE1" -> "_XGL_MEMORY_VIEW_ATTACH_INFO_3":f0 [ +id = 7 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0":f4 -> "_ELLIPSE2" [ +id = 8 +]; +"_ELLIPSE2" -> "_XGL_IMAGE_VIEW_ATTACH_INFO_9":f0 [ +id = 9 +]; +*/ +"_XGL_MEMORY_VIEW_ATTACH_INFO_0" -> "DS1_MEMORY":f0 [ +id = 10 +]; +"_XGL_MEMORY_VIEW_ATTACH_INFO_3" -> "DS1_MEMORY":f3 [ +id = 11 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0" -> "DS1_MEMORY":f4 [ +id = 10 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_9" -> "DS1_MEMORY":f13 [ +id = 11 +]; +"VS_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "VS_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 12 +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS1_MEMORY":f0 [ +id = 13 +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO":f6 -> "DS1_MEMORY":f1 [ +id = 14 +]; +"FS0_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "FS0_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 15 +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS1_MEMORY":f0 [ +id = 16 +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO":f26 -> "DS1_MEMORY":f5 [ +id = 17 +]; +"FS1_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "FS1_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 15 +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS2_MEMORY":f0 [ +id = 16 +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO":f46 -> "DS2_MEMORY":f9 [ +id = 17 +]; +} + diff --git a/docs/xgl_ds.png b/docs/xgl_ds.png Binary files differnew file mode 100644 index 00000000..ffeb80c1 --- /dev/null +++ b/docs/xgl_ds.png diff --git a/docs/xgl_full_pipeline_ds.dot b/docs/xgl_full_pipeline_ds.dot new file mode 100644 index 00000000..c0717c72 --- /dev/null +++ b/docs/xgl_full_pipeline_ds.dot @@ -0,0 +1,282 @@ +digraph g { +graph [ +rankdir = "TB" +]; +node [ +fontsize = "16" +shape = "plaintext" +]; +edge [ +]; +"_XGL_GRAPHICS_PIPELINE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_GRAPHICS_PIPELINE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_FLAGS</TD><TD>flags</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_IA_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_IA_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_PRIMITIVE_TOPOLOGY</TD><TD>topology</TD></TR><TR><TD>XGL_BOOL</TD><TD>disableVertexReuse</TD></TR><TR><TD>XGL_PROVOKING_VERTEX_CONVENTION</TD><TD>provokingVertex</TD></TR><TR><TD>XGL_BOOL</TD><TD>primitiveRestartEnable</TD></TR><TR><TD>XGL_UINT32</TD><TD>primitiveRestartIndex</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_TESS_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_TESS_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_UINT</TD><TD>patchControlPoints</TD></TR> <TR><TD>XGL_FLOAT</TD><TD>optimalTessFactor</TD></TR><TR><TD>XGL_FLOAT</TD><TD>fixedTessFactor</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_RS_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_RS_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_BOOL</TD><TD>depthClipEnable</TD></TR> <TR><TD>XGL_BOOL</TD><TD>rasterizerDiscardEnable</TD></TR> <TR><TD>XGL_FLOAT</TD><TD>pointSize</TD></TR> </TABLE>> +]; +"_XGL_PIPELINE_CB_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_CB_STATE</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_BOOL</TD><TD>alphaToCoverageEnable</TD></TR> <TR><TD>XGL_BOOL</TD><TD>dualSourceBlendEnable</TD></TR> <TR><TD>XGL_LOGIC_OP</TD><TD>logicOp</TD></TR> <TR><TD>XGL_PIPELINE_CB_ATTACHMENT_STATE</TD><TD>attachment</TD></TR> </TABLE>> +]; +"_XGL_PIPELINE_DB_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_DB_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_DB_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_FORMAT</TD><TD>format</TD></TR> </TABLE>> +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"VS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=VS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"TC_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=TC</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"TE_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=TE</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"GS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=GS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"FS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=FS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"_XGL_GRAPHICS_PIPELINE_CREATE_INFO":f2 -> "_XGL_PIPELINE_IA_STATE_CREATE_INFO" [ +id = 100 +]; +"_XGL_PIPELINE_IA_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_TESS_STATE_CREATE_INFO" [ +id = 101 +]; +"_XGL_PIPELINE_TESS_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_RS_STATE_CREATE_INFO" [ +id = 102 +]; +"_XGL_PIPELINE_RS_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_CB_STATE_CREATE_INFO" [ +id = 103 +]; +"_XGL_PIPELINE_CB_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_DB_STATE_CREATE_INFO" [ +id = 104 +]; +"_XGL_PIPELINE_DB_STATE_CREATE_INFO":f2 -> "VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 105 +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 106 +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 107 +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 108 +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 109 +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "VS_XGL_PIPELINE_SHADER" [ +id = 110 +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "TE_XGL_PIPELINE_SHADER" [ +id = 111 +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "TC_XGL_PIPELINE_SHADER" [ +id = 112 +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "GS_XGL_PIPELINE_SHADER" [ +id = 113 +]; +"FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "FS_XGL_PIPELINE_SHADER" [ +id = 114 +]; +subgraph clusterDSCreate1 +{ +label="xglCreateDescriptorSet()" +"_XGL_DESCRIPTOR_SET_CREATE_INFO1" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR><TR><TD PORT="f3">XGL_UINT</TD><TD PORT="f4">slots=14</TD></TR></TABLE>> +]; +} +subgraph clusterDSCreate2 +{ +label="xglCreateDescriptorSet()" +"_XGL_DESCRIPTOR_SET_CREATE_INFO2" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_DESCRIPTOR_SET_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR><TR><TD PORT="f3">XGL_UINT</TD><TD PORT="f4">slots=20</TD></TR></TABLE>> +]; +} +subgraph clusterSamplerCreate +{ +label="xglCreateSampler - multiple calls return unique XGL_SAMPLER handles" +"_XGL_SAMPLER_CREATE_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f3">const XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_TEX_FILTER</TD><TD PORT="f6">magFilter</TD></TR><TR><TD PORT="f7">XGL_TEX_FILTER</TD><TD PORT="f8">minFilter</TD></TR><TR><TD PORT="f9">XGL_TEX_MIPMAP_MODE</TD><TD PORT="f10">mipMode</TD></TR><TR><TD PORT="f11">XGL_TEX_ADDRESS</TD><TD PORT="f12">addressU</TD></TR><TR><TD PORT="f13">XGL_TEX_ADDRESS</TD><TD PORT="f14">addressV</TD></TR><TR><TD PORT="f15">XGL_TEX_ADDRESS</TD><TD PORT="f16">addressW</TD></TR><TR><TD PORT="f17">XGL_FLOAT</TD><TD PORT="f18">mipLodBias</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">maxAnisotropy</TD></TR><TR><TD PORT="f21">XGL_COMPARE_FUNC</TD><TD PORT="f22">compareFunc</TD></TR><TR><TD PORT="f23">XGL_FLOAT</TD><TD PORT="f24">minLod</TD></TR><TR><TD PORT="f25">XGL_FLOAT</TD><TD PORT="f26">maxLod</TD></TR><TR><TD PORT="f27">XGL_BORDER_COLOR_TYPE</TD><TD PORT="f28">borderColorType</TD></TR></TABLE>> +]; +"SAMPLER_ELLIPSES" [ +label = "..." +]; +"_XGL_SAMPLER_CREATE_INFO_19" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_SAMPLER_CREATE_INFO</TD></TR><TR><TD PORT="f3">const XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_TEX_FILTER</TD><TD PORT="f6">magFilter</TD></TR><TR><TD PORT="f7">XGL_TEX_FILTER</TD><TD PORT="f8">minFilter</TD></TR><TR><TD PORT="f9">XGL_TEX_MIPMAP_MODE</TD><TD PORT="f10">mipMode</TD></TR><TR><TD PORT="f11">XGL_TEX_ADDRESS</TD><TD PORT="f12">addressU</TD></TR><TR><TD PORT="f13">XGL_TEX_ADDRESS</TD><TD PORT="f14">addressV</TD></TR><TR><TD PORT="f15">XGL_TEX_ADDRESS</TD><TD PORT="f16">addressW</TD></TR><TR><TD PORT="f17">XGL_FLOAT</TD><TD PORT="f18">mipLodBias</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">maxAnisotropy</TD></TR><TR><TD PORT="f21">XGL_COMPARE_FUNC</TD><TD PORT="f22">compareFunc</TD></TR><TR><TD PORT="f23">XGL_FLOAT</TD><TD PORT="f24">minLod</TD></TR><TR><TD PORT="f25">XGL_FLOAT</TD><TD PORT="f26">maxLod</TD></TR><TR><TD PORT="f27">XGL_BORDER_COLOR_TYPE</TD><TD PORT="f28">borderColorType</TD></TR></TABLE>> +]; +} +subgraph clusterSamplerAttach +{ +label="xglAttachSamplerDescriptors\npSamplers array of XGL_SAMPLERS" +"SAMPLER_ARRAY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="pSamp">pSamplers</TD></TR><TR><TD PORT="f0">XGL_SAMPLER0</TD></TR><TR><TD PORT="f1">XGL_SAMPLER1</TD></TR><TR><TD PORT="f2">XGL_SAMPLER2</TD></TR><TR><TD PORT="f3">XGL_SAMPLER3</TD></TR><TR><TD PORT="f4">XGL_SAMPLER4</TD></TR><TR><TD PORT="f5">XGL_SAMPLER5</TD></TR><TR><TD PORT="f6">XGL_SAMPLER6</TD></TR><TR><TD PORT="f7">XGL_SAMPLER7</TD></TR><TR><TD PORT="f8">XGL_SAMPLER8</TD></TR><TR><TD PORT="f9">XGL_SAMPLER9</TD></TR><TR><TD PORT="f10">XGL_SAMPLER10</TD></TR><TR><TD PORT="f11">XGL_SAMPLER11</TD></TR><TR><TD PORT="f12">XGL_SAMPLER12</TD></TR><TR><TD PORT="f13">XGL_SAMPLER13</TD></TR><TR><TD PORT="f14">XGL_SAMPLER14</TD></TR><TR><TD PORT="f15">XGL_SAMPLER15</TD></TR><TR><TD PORT="f16">XGL_SAMPLER16</TD></TR><TR><TD PORT="f17">XGL_SAMPLER17</TD></TR><TR><TD PORT="f18">XGL_SAMPLER18</TD></TR><TR><TD PORT="f19">XGL_SAMPLER19</TD></TR></TABLE>> +]; +} +"DS1_MEMORY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="ds1">DS1 Memory</TD></TR><TR><TD PORT="f0">slot0</TD></TR><TR><TD PORT="f1">slot1</TD></TR><TR><TD PORT="f2">slots2</TD></TR><TR><TD PORT="f3">slots3</TD></TR><TR><TD PORT="f4">slots4</TD></TR><TR><TD PORT="f5">slots5</TD></TR><TR><TD PORT="f6">slots6</TD></TR><TR><TD PORT="f7">slots7</TD></TR><TR><TD PORT="f8">slots8</TD></TR><TR><TD PORT="f9">slots9</TD></TR><TR><TD PORT="f10">slots10</TD></TR><TR><TD PORT="f11">slots11</TD></TR><TR><TD PORT="f12">slots12</TD></TR><TR><TD PORT="f13">slot13</TD></TR></TABLE>> +]; +"DS2_MEMORY" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD PORT="ds2">DS2 Memory</TD></TR><TR><TD PORT="f0">slot0</TD></TR><TR><TD PORT="f1">slot1</TD></TR><TR><TD PORT="f2">slots2</TD></TR><TR><TD PORT="f3">slots3</TD></TR><TR><TD PORT="f4">slots4</TD></TR><TR><TD PORT="f5">slots5</TD></TR><TR><TD PORT="f6">slots6</TD></TR><TR><TD PORT="f7">slots7</TD></TR><TR><TD PORT="f8">slots8</TD></TR><TR><TD PORT="f9">slots9</TD></TR><TR><TD PORT="f10">slots10</TD></TR><TR><TD PORT="f11">slots11</TD></TR><TR><TD PORT="f12">slots12</TD></TR><TR><TD PORT="f13">slot13</TD></TR><TR><TD PORT="f14">slots14</TD></TR><TR><TD PORT="f15">slots15</TD></TR><TR><TD PORT="f16">slots16</TD></TR><TR><TD PORT="f17">slots17</TD></TR><TR><TD PORT="f18">slots18</TD></TR><TR><TD PORT="f19">slots19</TD></TR></TABLE>> +]; +subgraph clusterMemoryView +{ +label="xglAttachMemoryViewDescriptors - pMemViews array of XGL_MEMORY_VIEW_ATTACH_INFO structs" +"_XGL_MEMORY_VIEW_ATTACH_INFO_3" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_GPU_MEMORY</TD><TD PORT="f6">mem</TD></TR><TR><TD PORT="f7">XGL_GPU_SIZE</TD><TD PORT="f8">offset</TD></TR><TR><TD PORT="f9">XGL_GPU_SIZE</TD><TD PORT="f10">range</TD></TR><TR><TD PORT="f11">XGL_GPU_SIZE</TD><TD PORT="f12">stride</TD></TR><TR><TD PORT="f13">XGL_FORMAT</TD><TD PORT="f14">format</TD></TR><TR><TD PORT="f15">XGL_MEMORY_STATE</TD><TD PORT="f16">state</TD></TR></TABLE>> +]; +"MEM_VIEW_ELLIPSES" [ +label = "..." +]; +"_XGL_MEMORY_VIEW_ATTACH_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_MEMORY_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_GPU_MEMORY</TD><TD PORT="f6">mem</TD></TR><TR><TD PORT="f7">XGL_GPU_SIZE</TD><TD PORT="f8">offset</TD></TR><TR><TD PORT="f9">XGL_GPU_SIZE</TD><TD PORT="f10">range</TD></TR><TR><TD PORT="f11">XGL_GPU_SIZE</TD><TD PORT="f12">stride</TD></TR><TR><TD PORT="f13">XGL_FORMAT</TD><TD PORT="f14">format</TD></TR><TR><TD PORT="f15">XGL_MEMORY_STATE</TD><TD PORT="f16">state</TD></TR></TABLE>> +]; +} +subgraph clusterImageView +{ +label="xglAttachImageViewDescriptors - pImageViews array of XGL_IMAGE_VIEW_ATTACH_INFO structs" +"_XGL_IMAGE_VIEW_ATTACH_INFO_9" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_IMAGE_VIEW</TD><TD PORT="f6">view</TD></TR><TR><TD PORT="f7">XGL_IMAGE_STATE</TD><TD PORT="f8">state</TD></TR></TABLE>> +]; +"IMG_VIEW_ELLIPSES" [ +label = "..." +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f1">XGL_STRUCTURE_TYPE</TD><TD PORT="f2">sType=<BR/>XGL_STRUCTURE_TYPE_IMAGE_VIEW_ATTACH_INFO</TD></TR><TR><TD PORT="f3">XGL_VOID*</TD><TD PORT="f4">pNext=NULL</TD></TR><TR><TD PORT="f5">XGL_IMAGE_VIEW</TD><TD PORT="f6">view</TD></TR><TR><TD PORT="f7">XGL_IMAGE_STATE</TD><TD PORT="f8">state</TD></TR></TABLE>> +]; +} +"VS_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=2</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR></TABLE>> +]; +"FS0_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=6</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_UNUSED</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_UNUSED</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR><TR><TD PORT="f12">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f13">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f11">2</TD></TR><TR><TD PORT="f14">XGL_UINT</TD><TD PORT="f15">shaderEntityIndex</TD></TR><TR><TD PORT="f17">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f18">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f16">3</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">shaderEntityIndex</TD></TR><TR><TD PORT="f22">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f23">XGL_SLOT_SHADER_RESOURCE</TD><TD ROWSPAN="2" PORT="f21">4</TD></TR><TR><TD PORT="f24">XGL_UINT</TD><TD PORT="f25">shaderEntityIndex</TD></TR><TR><TD PORT="f27">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f28">XGL_SLOT_SHADER_UAV</TD><TD ROWSPAN="2" PORT="f26">5</TD></TR><TR><TD PORT="f29">XGL_UINT</TD><TD PORT="f30">shaderEntityIndex</TD></TR></TABLE>> +]; +"FS1_XGL_DESCRIPTOR_SET_MAPPING" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_DESCRIPTOR_SET_MAPPING</TD></TR><TR><TD PORT="f1">XGL_UINT</TD><TD PORT="f2">descriptorCount=10</TD></TR><TR><TD PORT="f3">const XGL_DESCRIPTOR_SLOT_INFO*</TD><TD PORT="f4">pDescriptorInfo</TD></TR></TABLE>> +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="3" PORT="f0">XGL_DESCRIPTOR_SLOT_INFO</TD></TR><TR><TD PORT="f2">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f3">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f1">0</TD></TR><TR><TD PORT="f4">XGL_UINT</TD><TD PORT="f5">shaderEntityIndex</TD></TR><TR><TD PORT="f7">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f8">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f6">1</TD></TR><TR><TD PORT="f9">XGL_UINT</TD><TD PORT="f10">shaderEntityIndex</TD></TR><TR><TD PORT="f12">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f13">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f11">2</TD></TR><TR><TD PORT="f14">XGL_UINT</TD><TD PORT="f15">shaderEntityIndex</TD></TR><TR><TD PORT="f17">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f18">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f16">3</TD></TR><TR><TD PORT="f19">XGL_UINT</TD><TD PORT="f20">shaderEntityIndex</TD></TR><TR><TD PORT="f22">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f23">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f21">4</TD></TR><TR><TD PORT="f24">XGL_UINT</TD><TD PORT="f25">shaderEntityIndex</TD></TR><TR><TD PORT="f27">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f28">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f26">5</TD></TR><TR><TD PORT="f29">XGL_UINT</TD><TD PORT="f30">shaderEntityIndex</TD></TR><TR><TD PORT="f32">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f33">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f31">6</TD></TR><TR><TD PORT="f34">XGL_UINT</TD><TD PORT="f35">shaderEntityIndex</TD></TR><TR><TD PORT="f37">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f38">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f36">7</TD></TR><TR><TD PORT="f39">XGL_UINT</TD><TD PORT="f40">shaderEntityIndex</TD></TR><TR><TD PORT="f42">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f43">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f41">8</TD></TR><TR><TD PORT="f44">XGL_UINT</TD><TD PORT="f45">shaderEntityIndex</TD></TR><TR><TD PORT="f47">XGL_DESCRIPTOR_SET_SLOT_TYPE</TD><TD PORT="f48">XGL_SLOT_SHADER_SAMPLER</TD><TD ROWSPAN="2" PORT="f46">9</TD></TR><TR><TD PORT="f49">XGL_UINT</TD><TD PORT="f50">shaderEntityIndex</TD></TR></TABLE>> +]; +/* +"_XGL_DESCRIPTOR_SET_CREATE_INFO1":f2 -> "_XGL_DESCRIPTOR_SET_CREATE_INFO2":f0 [ +id = 0 +]; +*/ +"_XGL_DESCRIPTOR_SET_CREATE_INFO1":f4 -> "DS1_MEMORY":ds1 [ +id = 1 +]; +"_XGL_DESCRIPTOR_SET_CREATE_INFO2":f4 -> "DS2_MEMORY":ds2 [ +id = 2 +]; +/* +"_XGL_SAMPLER_CREATE_INFO_0":f4 -> "_ELLIPSE0" [ +id = 3 +]; +"_ELLIPSE0" -> "_XGL_SAMPLER_CREATE_INFO_19":f0 [ +id = 3 +]; +*/ +"_XGL_SAMPLER_CREATE_INFO_0" -> "SAMPLER_ARRAY":f0 [ +id = 4 +]; +"_XGL_SAMPLER_CREATE_INFO_19" -> "SAMPLER_ARRAY":f19 [ +id = 5 +]; +"SAMPLER_ARRAY":f0 -> "DS2_MEMORY":f0 [ +id = 6 +]; +"SAMPLER_ARRAY":f19 -> "DS2_MEMORY":f19 [ +id = 7 +]; +/* +"_XGL_MEMORY_VIEW_ATTACH_INFO_0":f4 -> "_ELLIPSE1" [ +id = 6 +]; +"_ELLIPSE1" -> "_XGL_MEMORY_VIEW_ATTACH_INFO_3":f0 [ +id = 7 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0":f4 -> "_ELLIPSE2" [ +id = 8 +]; +"_ELLIPSE2" -> "_XGL_IMAGE_VIEW_ATTACH_INFO_9":f0 [ +id = 9 +]; +*/ +"_XGL_MEMORY_VIEW_ATTACH_INFO_0" -> "DS1_MEMORY":f0 [ +id = 10 +]; +"_XGL_MEMORY_VIEW_ATTACH_INFO_3" -> "DS1_MEMORY":f3 [ +id = 11 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_0" -> "DS1_MEMORY":f4 [ +id = 10 +]; +"_XGL_IMAGE_VIEW_ATTACH_INFO_9" -> "DS1_MEMORY":f13 [ +id = 11 +]; +"VS_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "VS_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 12 +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS1_MEMORY":f0 [ +id = 13 +]; +"VS_XGL_DESCRIPTOR_SLOT_INFO":f6 -> "DS1_MEMORY":f1 [ +id = 14 +]; +"FS0_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "FS0_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 15 +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS1_MEMORY":f0 [ +id = 16 +]; +"FS0_XGL_DESCRIPTOR_SLOT_INFO":f26 -> "DS1_MEMORY":f5 [ +id = 17 +]; +"FS1_XGL_DESCRIPTOR_SET_MAPPING":f4 -> "FS1_XGL_DESCRIPTOR_SLOT_INFO":f0 [ +id = 15 +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO":f1 -> "DS2_MEMORY":f0 [ +id = 16 +]; +"FS1_XGL_DESCRIPTOR_SLOT_INFO":f46 -> "DS2_MEMORY":f9 [ +id = 17 +]; +"FS_XGL_PIPELINE_SHADER":f6 -> "FS0_XGL_DESCRIPTOR_SET_MAPPING" [ +id = 18 +]; +"FS_XGL_PIPELINE_SHADER":f6 -> "FS1_XGL_DESCRIPTOR_SET_MAPPING" [ +id = 19 +]; +"VS_XGL_PIPELINE_SHADER":f6 -> "VS_XGL_DESCRIPTOR_SET_MAPPING" [ +id = 20 +]; +} + diff --git a/docs/xgl_full_pipeline_ds.png b/docs/xgl_full_pipeline_ds.png Binary files differnew file mode 100644 index 00000000..cec76227 --- /dev/null +++ b/docs/xgl_full_pipeline_ds.png diff --git a/docs/xgl_graphics_pipeline.dot b/docs/xgl_graphics_pipeline.dot new file mode 100644 index 00000000..18e74c07 --- /dev/null +++ b/docs/xgl_graphics_pipeline.dot @@ -0,0 +1,105 @@ +digraph g { +graph [ +rankdir = "TB" +]; +node [ +fontsize = "16" +shape = "plaintext" +]; +edge [ +]; +"_XGL_GRAPHICS_PIPELINE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_GRAPHICS_PIPELINE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_FLAGS</TD><TD>flags</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_IA_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_IA_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_PRIMITIVE_TOPOLOGY</TD><TD>topology</TD></TR><TR><TD>XGL_BOOL</TD><TD>disableVertexReuse</TD></TR><TR><TD>XGL_PROVOKING_VERTEX_CONVENTION</TD><TD>provokingVertex</TD></TR><TR><TD>XGL_BOOL</TD><TD>primitiveRestartEnable</TD></TR><TR><TD>XGL_UINT32</TD><TD>primitiveRestartIndex</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_TESS_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_TESS_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO</TD></TR><TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR><TR><TD>XGL_UINT</TD><TD>patchControlPoints</TD></TR> <TR><TD>XGL_FLOAT</TD><TD>optimalTessFactor</TD></TR><TR><TD>XGL_FLOAT</TD><TD>fixedTessFactor</TD></TR></TABLE>> +]; +"_XGL_PIPELINE_RS_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_RS_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_RS_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_BOOL</TD><TD>depthClipEnable</TD></TR> <TR><TD>XGL_BOOL</TD><TD>rasterizerDiscardEnable</TD></TR> <TR><TD>XGL_FLOAT</TD><TD>pointSize</TD></TR> </TABLE>> +]; +"_XGL_PIPELINE_CB_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_CB_STATE</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_CB_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_BOOL</TD><TD>alphaToCoverageEnable</TD></TR> <TR><TD>XGL_BOOL</TD><TD>dualSourceBlendEnable</TD></TR> <TR><TD>XGL_LOGIC_OP</TD><TD>logicOp</TD></TR> <TR><TD>XGL_PIPELINE_CB_ATTACHMENT_STATE</TD><TD>attachment</TD></TR> </TABLE>> +]; +"_XGL_PIPELINE_DB_STATE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_DB_STATE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_DB_STATE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_FORMAT</TD><TD>format</TD></TR> </TABLE>> +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR><TR><TD>XGL_STRUCTURE_TYPE</TD><TD>sType=<BR/>XGL_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO</TD></TR> <TR><TD>const XGL_VOID*</TD><TD PORT="f2">pNext=NULL</TD></TR> <TR><TD>XGL_PIPELINE_SHADER</TD><TD PORT="f4">shader</TD></TR> </TABLE>> +]; +"VS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=VS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"TC_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=TC</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"TE_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=TE</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"GS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=GS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"FS_XGL_PIPELINE_SHADER" [ +label = <<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD COLSPAN="2" PORT="f0">XGL_PIPELINE_SHADER</TD></TR><TR><TD PORT="f1">XGL_PIPELINE_SHADER_STAGE</TD><TD PORT="f2">stage=FS</TD></TR><TR><TD PORT="f3">XGL_SHADER</TD><TD PORT="f4">shader</TD></TR><TR><TD PORT="f5">XGL_DESCRIPTOR_SET_MAPPING</TD><TD PORT="f6">descriptorSetMapping[2]</TD></TR><TR><TD PORT="f7">XGL_UINT</TD><TD PORT="f8">linkConstBufferCount</TD></TR><TR><TD PORT="f9">const XGL_LINK_CONST_BUFFER*</TD><TD PORT="f10">pLinkConstBufferInfo</TD></TR><TR><TD PORT="f11">XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO</TD><TD PORT="f12">dynamicMemoryViewMapping</TD></TR></TABLE>> +]; +"_XGL_GRAPHICS_PIPELINE_CREATE_INFO":f2 -> "_XGL_PIPELINE_IA_STATE_CREATE_INFO" [ +id = 0 +]; +"_XGL_PIPELINE_IA_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_TESS_STATE_CREATE_INFO" [ +id = 1 +]; +"_XGL_PIPELINE_TESS_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_RS_STATE_CREATE_INFO" [ +id = 2 +]; +"_XGL_PIPELINE_RS_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_CB_STATE_CREATE_INFO" [ +id = 3 +]; +"_XGL_PIPELINE_CB_STATE_CREATE_INFO":f2 -> "_XGL_PIPELINE_DB_STATE_CREATE_INFO" [ +id = 4 +]; +"_XGL_PIPELINE_DB_STATE_CREATE_INFO":f2 -> "VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 5 +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 6 +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 7 +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 8 +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f2 -> "FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO" [ +id = 9 +]; +"VS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "VS_XGL_PIPELINE_SHADER" [ +id = 10 +]; +"TE_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "TE_XGL_PIPELINE_SHADER" [ +id = 11 +]; +"TC_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "TC_XGL_PIPELINE_SHADER" [ +id = 12 +]; +"GS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "GS_XGL_PIPELINE_SHADER" [ +id = 13 +]; +"FS_XGL_PIPELINE_SHADER_STAGE_CREATE_INFO":f4 -> "FS_XGL_PIPELINE_SHADER" [ +id = 14 +]; +} + diff --git a/docs/xgl_graphics_pipeline.png b/docs/xgl_graphics_pipeline.png Binary files differnew file mode 100644 index 00000000..392fd3f3 --- /dev/null +++ b/docs/xgl_graphics_pipeline.png |
