xgl: move to new resource binding model
All except layout(set=) is supported. The change to
pipeline_compiler_interface.{cpp,h} is ugly and fragile. It should be fixed
after adding layout(set=) support.
diff --git a/xgl.py b/xgl.py
index 0e41056..84b39ee 100644
--- a/xgl.py
+++ b/xgl.py
@@ -200,6 +200,8 @@
"XGL_PIPELINE_DELTA",
"XGL_SAMPLER",
"XGL_DESCRIPTOR_SET",
+ "XGL_DESCRIPTOR_SET_LAYOUT",
+ "XGL_DESCRIPTOR_REGION",
"XGL_DYNAMIC_STATE_OBJECT",
"XGL_DYNAMIC_VP_STATE_OBJECT",
"XGL_DYNAMIC_RS_STATE_OBJECT",
@@ -501,45 +503,48 @@
Param("const XGL_SAMPLER_CREATE_INFO*", "pCreateInfo"),
Param("XGL_SAMPLER*", "pSampler")]),
- Proto("XGL_RESULT", "CreateDescriptorSet",
+ Proto("XGL_RESULT", "CreateDescriptorSetLayout",
[Param("XGL_DEVICE", "device"),
- Param("const XGL_DESCRIPTOR_SET_CREATE_INFO*", "pCreateInfo"),
- Param("XGL_DESCRIPTOR_SET*", "pDescriptorSet")]),
+ Param("XGL_FLAGS", "stageFlags"),
+ Param("const XGL_UINT*", "pSetBindPoints"),
+ Param("XGL_DESCRIPTOR_SET_LAYOUT", "priorSetLayout"),
+ Param("const XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO*", "pSetLayoutInfoList"),
+ Param("XGL_DESCRIPTOR_SET_LAYOUT*", "pSetLayout")]),
- Proto("XGL_VOID", "BeginDescriptorSetUpdate",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet")]),
+ Proto("XGL_RESULT", "BeginDescriptorRegionUpdate",
+ [Param("XGL_DEVICE", "device"),
+ Param("XGL_DESCRIPTOR_UPDATE_MODE", "updateMode")]),
- Proto("XGL_VOID", "EndDescriptorSetUpdate",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet")]),
+ Proto("XGL_RESULT", "EndDescriptorRegionUpdate",
+ [Param("XGL_DEVICE", "device"),
+ Param("XGL_CMD_BUFFER", "cmd")]),
- Proto("XGL_VOID", "AttachSamplerDescriptors",
+ Proto("XGL_RESULT", "CreateDescriptorRegion",
+ [Param("XGL_DEVICE", "device"),
+ Param("XGL_DESCRIPTOR_REGION_USAGE", "regionUsage"),
+ Param("XGL_UINT", "maxSets"),
+ Param("const XGL_DESCRIPTOR_REGION_CREATE_INFO*", "pCreateInfo"),
+ Param("XGL_DESCRIPTOR_REGION*", "pDescriptorRegion")]),
+
+ Proto("XGL_RESULT", "ClearDescriptorRegion",
+ [Param("XGL_DESCRIPTOR_REGION", "descriptorRegion")]),
+
+ Proto("XGL_RESULT", "AllocDescriptorSets",
+ [Param("XGL_DESCRIPTOR_REGION", "descriptorRegion"),
+ Param("XGL_DESCRIPTOR_SET_USAGE", "setUsage"),
+ Param("XGL_UINT", "count"),
+ Param("const XGL_DESCRIPTOR_SET_LAYOUT*", "pSetLayouts"),
+ Param("XGL_DESCRIPTOR_SET*", "pDescriptorSets"),
+ Param("XGL_UINT*", "pCount")]),
+
+ Proto("XGL_VOID", "ClearDescriptorSets",
+ [Param("XGL_DESCRIPTOR_REGION", "descriptorRegion"),
+ Param("XGL_UINT", "count"),
+ Param("const XGL_DESCRIPTOR_SET*", "pDescriptorSets")]),
+
+ Proto("XGL_VOID", "UpdateDescriptors",
[Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "startSlot"),
- Param("XGL_UINT", "slotCount"),
- Param("const XGL_SAMPLER*", "pSamplers")]),
-
- Proto("XGL_VOID", "AttachImageViewDescriptors",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "startSlot"),
- Param("XGL_UINT", "slotCount"),
- Param("const XGL_IMAGE_VIEW_ATTACH_INFO*", "pImageViews")]),
-
- Proto("XGL_VOID", "AttachBufferViewDescriptors",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "startSlot"),
- Param("XGL_UINT", "slotCount"),
- Param("const XGL_BUFFER_VIEW_ATTACH_INFO*", "pBufferViews")]),
-
- Proto("XGL_VOID", "AttachNestedDescriptors",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "startSlot"),
- Param("XGL_UINT", "slotCount"),
- Param("const XGL_DESCRIPTOR_SET_ATTACH_INFO*", "pNestedDescriptorSets")]),
-
- Proto("XGL_VOID", "ClearDescriptorSetSlots",
- [Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "startSlot"),
- Param("XGL_UINT", "slotCount")]),
+ Param("const XGL_VOID*", "pUpdateChain")]),
Proto("XGL_RESULT", "CreateDynamicViewportState",
[Param("XGL_DEVICE", "device"),
@@ -594,14 +599,8 @@
Proto("XGL_VOID", "CmdBindDescriptorSet",
[Param("XGL_CMD_BUFFER", "cmdBuffer"),
Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
- Param("XGL_UINT", "index"),
Param("XGL_DESCRIPTOR_SET", "descriptorSet"),
- Param("XGL_UINT", "slotOffset")]),
-
- Proto("XGL_VOID", "CmdBindDynamicBufferView",
- [Param("XGL_CMD_BUFFER", "cmdBuffer"),
- Param("XGL_PIPELINE_BIND_POINT", "pipelineBindPoint"),
- Param("const XGL_BUFFER_VIEW_ATTACH_INFO*", "pBufferView")]),
+ Param("const XGL_UINT*", "pUserData")]),
Proto("XGL_VOID", "CmdBindVertexBuffer",
[Param("XGL_CMD_BUFFER", "cmdBuffer"),