aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-02-02 09:58:11 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-02-04 17:58:11 -0700
commita86127c528b4dffe2ed46c08fc40cee8e34afd85 (patch)
treeb826cd5adf2561b7f669bb43f11232b78dd1c98b
parent700fc140c52596f05a0c6e3791a1a9c80b150023 (diff)
downloadusermoji-a86127c528b4dffe2ed46c08fc40cee8e34afd85.tar.xz
render_pass: Add CmdBegin{End}RenderPass()
This is part of rev 47 but was accidentally skipped.
-rw-r--r--demos/cube.c1
-rw-r--r--demos/tri.c1
-rw-r--r--include/xgl.h23
-rw-r--r--include/xglLayer.h2
-rw-r--r--xgl.py8
5 files changed, 20 insertions, 15 deletions
diff --git a/demos/cube.c b/demos/cube.c
index a9639716..fdd300c4 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -282,7 +282,6 @@ static void demo_draw_build_cmd(struct demo *demo)
XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO graphics_cmd_buf_info = {
.sType = XGL_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO,
.pNext = NULL,
- .operation = XGL_RENDER_PASS_OPERATION_BEGIN_AND_END,
};
XGL_CMD_BUFFER_BEGIN_INFO cmd_buf_info = {
.sType = XGL_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO,
diff --git a/demos/tri.c b/demos/tri.c
index 929d1585..5a770f4c 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -104,7 +104,6 @@ static void demo_draw_build_cmd(struct demo *demo)
XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO graphics_cmd_buf_info = {
.sType = XGL_STRUCTURE_TYPE_CMD_BUFFER_GRAPHICS_BEGIN_INFO,
.pNext = NULL,
- .operation = XGL_RENDER_PASS_OPERATION_BEGIN_AND_END,
};
XGL_CMD_BUFFER_BEGIN_INFO cmd_buf_info = {
.sType = XGL_STRUCTURE_TYPE_CMD_BUFFER_BEGIN_INFO,
diff --git a/include/xgl.h b/include/xgl.h
index 59254a3d..18ae993e 100644
--- a/include/xgl.h
+++ b/include/xgl.h
@@ -1007,17 +1007,6 @@ typedef enum _XGL_SHADER_STAGE_FLAGS
XGL_MAX_ENUM(_XGL_SHADER_STAGE_FLAGS)
} XGL_SHADER_STAGE_FLAGS;
-// Graphics workload submit type. Used for rendering workloads.
-typedef enum _XGL_RENDER_PASS_OPERATION
-{
- XGL_RENDER_PASS_OPERATION_BEGIN, // Start rendering
- XGL_RENDER_PASS_OPERATION_CONTINUE, // Continue rendering
- XGL_RENDER_PASS_OPERATION_END, // End rendering
- XGL_RENDER_PASS_OPERATION_BEGIN_AND_END, // Start and finish rendering in a single command buffer
-
- XGL_MAX_ENUM(_XGL_RENDER_PASS_OPERATION)
-} XGL_RENDER_PASS_OPERATION;
-
// Structure type enumerant
typedef enum _XGL_STRUCTURE_TYPE
{
@@ -2108,7 +2097,6 @@ typedef struct _XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO
const void* pNext; // Pointer to next structure
XGL_RENDER_PASS renderPass;
- XGL_RENDER_PASS_OPERATION operation;
} XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO;
@@ -2352,7 +2340,8 @@ typedef void (XGLAPI *xglCmdLoadAtomicCountersType)(XGL_CMD_BUFFER cmdBuffer, XG
typedef void (XGLAPI *xglCmdSaveAtomicCountersType)(XGL_CMD_BUFFER cmdBuffer, XGL_PIPELINE_BIND_POINT pipelineBindPoint, uint32_t startCounter, uint32_t counterCount, XGL_BUFFER destBuffer, XGL_GPU_SIZE destOffset);
typedef XGL_RESULT (XGLAPI *xglCreateFramebufferType)(XGL_DEVICE device, const XGL_FRAMEBUFFER_CREATE_INFO* pCreateInfo, XGL_FRAMEBUFFER* pFramebuffer);
typedef XGL_RESULT (XGLAPI *xglCreateRenderPassType)(XGL_DEVICE device, const XGL_RENDER_PASS_CREATE_INFO* pCreateInfo, XGL_RENDER_PASS* pRenderPass);
-
+typedef void (XGLAPI *xglCmdBeginRenderPassType)(XGL_CMD_BUFFER cmdBuffer, XGL_RENDER_PASS renderPass);
+typedef void (XGLAPI *xglCmdEndRenderPassType)(XGL_CMD_BUFFER cmdBuffer, XGL_RENDER_PASS renderPass);
#ifdef XGL_PROTOTYPES
// GPU initialization
@@ -2998,6 +2987,14 @@ XGL_RESULT XGLAPI xglCreateRenderPass(
const XGL_RENDER_PASS_CREATE_INFO* pCreateInfo,
XGL_RENDER_PASS* pRenderPass);
+void XGLAPI xglCmdBeginRenderPass(
+ XGL_CMD_BUFFER cmdBuffer,
+ XGL_RENDER_PASS renderPass);
+
+void XGLAPI xglCmdEndRenderPass(
+ XGL_CMD_BUFFER cmdBuffer,
+ XGL_RENDER_PASS renderPass);
+
#endif /* XGL_PROTOTYPES */
#ifdef __cplusplus
diff --git a/include/xglLayer.h b/include/xglLayer.h
index a229b2cf..97a2d4fa 100644
--- a/include/xglLayer.h
+++ b/include/xglLayer.h
@@ -136,6 +136,8 @@ typedef struct _XGL_LAYER_DISPATCH_TABLE
xglCmdSaveAtomicCountersType CmdSaveAtomicCounters;
xglCreateFramebufferType CreateFramebuffer;
xglCreateRenderPassType CreateRenderPass;
+ xglCmdBeginRenderPassType CmdBeginRenderPass;
+ xglCmdEndRenderPassType CmdEndRenderPass;
xglDbgSetValidationLevelType DbgSetValidationLevel;
xglDbgRegisterMsgCallbackType DbgRegisterMsgCallback;
xglDbgUnregisterMsgCallbackType DbgUnregisterMsgCallback;
diff --git a/xgl.py b/xgl.py
index 5f09fc1f..04e8b2ef 100644
--- a/xgl.py
+++ b/xgl.py
@@ -813,6 +813,14 @@ core = Extension(
Param("const XGL_RENDER_PASS_CREATE_INFO*", "pCreateInfo"),
Param("XGL_RENDER_PASS*", "pRenderPass")]),
+ Proto("void", "CmdBeginRenderPass",
+ [Param("XGL_CMD_BUFFER", "cmdBuffer"),
+ Param("XGL_RENDER_PASS", "renderPass")]),
+
+ Proto("void", "CmdEndRenderPass",
+ [Param("XGL_CMD_BUFFER", "cmdBuffer"),
+ Param("XGL_RENDER_PASS", "renderPass")]),
+
Proto("XGL_RESULT", "DbgSetValidationLevel",
[Param("XGL_DEVICE", "device"),
Param("XGL_VALIDATION_LEVEL", "validationLevel")]),